package main
import (
"fmt"
"github.com/antonfisher/nested-logrus-formatter"
"github.com/sirupsen/logrus"
)
func main() {
fmt.Print("\n--- nested-logrus-formatter ---\n\n")
printDemo(&formatter.Formatter{
HideKeys: true,
FieldsOrder: []string{"component", "category", "req"},
}, "nested-logrus-formatter")
fmt.Print("\n--- default logrus formatter ---\n\n")
printDemo(nil, "default logrus formatter")
}
func printDemo(f logrus.Formatter, title string) {
l := logrus.New()
l.SetLevel(logrus.DebugLevel)
if f != nil {
l.SetFormatter(f)
}
l.Infof("this is %v demo", title)
lWebServer := l.WithField("component", "web-server")
lWebServer.Info("starting...")
lWebServerReq := lWebServer.WithFields(logrus.Fields{
"req": "GET /api/stats",
"reqId": "#1",
})
lWebServerReq.Info("params: startYear=2048")
lWebServerReq.Error("response: 400 Bad Request")
lDbConnector := l.WithField("category", "db-connector")
lDbConnector.Info("connecting to db on 10.10.10.13...")
lDbConnector.Warn("connection took 10s")
l.Info("demo end.")
}