[JSON] Use type-switch for error field

This commit is contained in:
Anton Tiurin
2015-03-10 19:04:57 +03:00
parent 7498110889
commit 98fd21de2c
+6 -5
View File
@@ -11,11 +11,12 @@ type JSONFormatter struct{}
func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) { func (f *JSONFormatter) Format(entry *Entry) ([]byte, error) {
data := make(Fields, len(entry.Data)+3) data := make(Fields, len(entry.Data)+3)
for k, v := range entry.Data { for k, v := range entry.Data {
// Otherwise errors are ignored by `encoding/json` switch v := v.(type) {
// https://github.com/Sirupsen/logrus/issues/137 case error:
if err, ok := v.(error); ok { // Otherwise errors are ignored by `encoding/json`
data[k] = err.Error() // https://github.com/Sirupsen/logrus/issues/137
} else { data[k] = v.Error()
default:
data[k] = v data[k] = v
} }
} }