Glogger is a go logging library. It uses logrus library and implements a middleware to be used with Gorilla Mux.
go get -u github.com/riccardotzr/glogger
log, err := glogger.Init(glogger.InitOptions{Level: "info"})
if err != nil {
panic(err.Error())
}
r := mux.NewRouter()
r.Use(glogger.LoggingMiddleware(log))
and to retrieve logger injected in request context:
func (w http.ResponseWriter, r *http.Request) {
logger := glogger.Get(r.Context())
logger.Info("My log message")
}
To log error message using default field
func (w http.ResponseWriter, r *http.Request) {
logger := glogger.Get(r.Context())
_, err := fn()
if err != nil {
logger.WithError(err).Error("My error message")
}
}
To log error message using default field
func (w http.ResponseWriter, r *http.Request) {
logger := glogger.Get(r.Context())
logger.WithFields(&logrus.Fields{
"key": "my_key",
}).Info("Log with custom fields")
}
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details