diff options
Diffstat (limited to 'middleware/log.go')
| -rw-r--r-- | middleware/log.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/middleware/log.go b/middleware/log.go index 4c4109c..9d3436f 100644 --- a/middleware/log.go +++ b/middleware/log.go @@ -8,12 +8,15 @@ import ( func Log(next http.Handler, logger *slog.Logger) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + attrs := make([]slog.Attr, 0, 5) user, _, ok := r.BasicAuth() if ok { - logger = logger.With(slog.String("user", user)) + attrs = append(attrs, slog.String("user", user)) } - logger.InfoContext(r.Context(), "Recieved Request", slog.Group("request", "Address", r.RemoteAddr, "method", r.Method, "url", r.URL, "user agent", r.UserAgent)) + attrs = append(attrs, slog.Group("request", "Address", r.RemoteAddr, "method", r.Method, "url", r.URL)) + + logger.LogAttrs(r.Context(), slog.LevelInfo, "Recieved Request", attrs...) next.ServeHTTP(w, r) }) |
