Tags: #go #json #logs
// https://play.golang.org/p/5H9ZV7Hqc6D
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logger := logrus.New()
logger.SetFormatter(&logrus.JSONFormatter{
FieldMap: logrus.FieldMap{
logrus.FieldKeyMsg: "message", // uses `message` instead of `msg` field
},
})
logger.SetLevel(logrus.InfoLevel)
baselineLogger := logger.WithFields(logrus.Fields{
"foo": logrus.Fields{
"bar": 123,
"baz": "abc",
},
}).WithFields(logrus.Fields{
"bar": logrus.Fields{
"baz": 456,
"qux": "xyz",
},
})
baselineLogger.WithFields(logrus.Fields{"beep": "boop"}).Info("HERE")
// {"bar":{"baz":456,"qux":"xyz"},"beep":"boop","foo":{"bar":123,"baz":"abc"},"level":"info","message":"HERE","time":"2009-11-10T23:00:00Z"}
}