middleware/logger.go

23 lines
474 B
Go
Raw Normal View History

2024-04-06 20:05:14 +03:00
package middleware
import (
"net/http"
"log/slog"
)
func Logger(handler http.Handler, logger *slog.Logger) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
handler.ServeHTTP(w, r)
requestID := GetRequestID(r)
logger.InfoContext(
r.Context(),
"request",
slog.String("proto", r.Proto),
slog.String("method", r.Method),
slog.String("request_uri", r.RequestURI),
slog.String("request_id", requestID),
)
})
}