.github/workflows | ||
vendor | ||
.bumpversion.cfg | ||
.drone.yml | ||
.gitignore | ||
.goreleaser.yml | ||
go.mod | ||
go.sum | ||
logginghandler_test.go | ||
logginghandler.go | ||
Makefile | ||
README.md |
logginghandler
Just a simple zerolog based request logging http middleware. It also sets a X-Request-ID
in the request and response headers.
Install
go get -v go.xsfx.dev/logginghandler
Usage
handler := logginghandler.Handler(http.HandlerFunc(myHandler))
http.Handle("/", handler)
log.Fatal().Msg(http.ListenAndServe(":5000", nil).Error())
In other handlers you can access the UUID:
func anotherHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "your uuid is: %s", logginghandler.GetUUID(r))
}
The already prepared logger is also available:
l := loggerhandler.Logger(r)
l.Info().Msg("foo bar")