| package logrus |
| |
| import ( |
| "encoding/json" |
| "errors" |
| |
| "testing" |
| ) |
| |
| func TestErrorNotLost(t *testing.T) { |
| formatter := &JSONFormatter{} |
| |
| b, err := formatter.Format(WithField("error", errors.New("wild walrus"))) |
| if err != nil { |
| t.Fatal("Unable to format entry: ", err) |
| } |
| |
| entry := make(map[string]interface{}) |
| err = json.Unmarshal(b, &entry) |
| if err != nil { |
| t.Fatal("Unable to unmarshal formatted entry: ", err) |
| } |
| |
| if entry["error"] != "wild walrus" { |
| t.Fatal("Error field not set") |
| } |
| } |
| |
| func TestErrorNotLostOnFieldNotNamedError(t *testing.T) { |
| formatter := &JSONFormatter{} |
| |
| b, err := formatter.Format(WithField("omg", errors.New("wild walrus"))) |
| if err != nil { |
| t.Fatal("Unable to format entry: ", err) |
| } |
| |
| entry := make(map[string]interface{}) |
| err = json.Unmarshal(b, &entry) |
| if err != nil { |
| t.Fatal("Unable to unmarshal formatted entry: ", err) |
| } |
| |
| if entry["omg"] != "wild walrus" { |
| t.Fatal("Error field not set") |
| } |
| } |