aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/middleware/log.go
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2024-10-15 23:56:02 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2024-10-15 23:56:07 -0400
commit9b6e79c40b98d8e36e4b7f5e1cc6f6a9f0feabbc (patch)
treeb7e5ebb185a3b82767036140249b75c66e25e736 /middleware/log.go
parent419cff5ffab005ade7730f0783c0b6eb2d6b6dce (diff)
Fix log middleware duplicating user
Diffstat (limited to 'middleware/log.go')
-rw-r--r--middleware/log.go7
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)
})