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") } }