diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2024-10-09 17:36:10 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2024-10-09 17:36:10 -0400 |
| commit | 54cd78b2c2bafe2fc9b191f7375d652d17e15e95 (patch) | |
| tree | e02bb16150916e7a547046e8adedb025b0592630 | |
| parent | 17e269202ba01e8467a87163395a1e6ac8261e02 (diff) | |
Add logger middleware
| -rw-r--r-- | middleware/log.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/middleware/log.go b/middleware/log.go new file mode 100644 index 0000000..57eb218 --- /dev/null +++ b/middleware/log.go @@ -0,0 +1,20 @@ +package middleware + +import ( + "log/slog" + "net/http" +) + +func Log(next http.Handler, logger *slog.Logger) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + + user, _, ok := r.BasicAuth() + if ok { + logger = logger.With(slog.String("user", user)) + } + + logger.InfoContext(r.Context(), "Recieved Request", slog.Group("request", "method", r.Method, "url", r.URL, "user agent", r.UserAgent)) + + next.ServeHTTP(w, r) + }) +} |
