package server
import (
"net/http"
"alin.ovh/x/log"
sharedhttp "alin.ovh/homestead/shared/http"
)
func wrapHandlerWithLogging(wrappedHandler http.Handler, log *log.Logger) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
lw := sharedhttp.NewStatusCapturingResponseWriter(w)
wrappedHandler.ServeHTTP(lw, r)
log.Info(
"http request",
"method", r.Method,
"status", lw.Status,
"host", r.Host,
"path", r.URL.Path,
"location", lw.Header().Get("Location"),
)
})
}
domain/web/server/logging.go (view raw)