diff options
| author | mihna123 <mihailonvojinovic@gmail.com> | 2026-08-21 21:20:28 +0200 |
|---|---|---|
| committer | mihna123 <mihailonvojinovic@gmail.com> | 2026-08-21 21:20:28 +0200 |
| commit | b840ed889f464d4be3a1fabe37795c8afe59dfeb (patch) | |
| tree | a1d7356c3efd69cffb4596dd0732d8461de9e78f /internal/server/middleware.go | |
| parent | 848ce19b5097e4d26b0106f3158ec2140e52b5a4 (diff) | |
| download | openstore-b840ed889f464d4be3a1fabe37795c8afe59dfeb.tar.gz openstore-b840ed889f464d4be3a1fabe37795c8afe59dfeb.zip | |
logs: handle all loggs with slog
Diffstat (limited to 'internal/server/middleware.go')
| -rw-r--r-- | internal/server/middleware.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/internal/server/middleware.go b/internal/server/middleware.go index fe51224..c88131c 100644 --- a/internal/server/middleware.go +++ b/internal/server/middleware.go @@ -1,8 +1,9 @@ package server import ( - "log" + "log/slog" "net/http" + "time" ) type statusRecorder struct { @@ -17,8 +18,16 @@ func (r *statusRecorder) WriteHeader(code int) { func logRequests(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + start := time.Now() recorder := &statusRecorder{ResponseWriter: w, status: http.StatusOK} next.ServeHTTP(recorder, r) - log.Printf("[%s] %s - %s: %d", r.Method, r.RequestURI, r.RemoteAddr, recorder.status) + slog.Info("request", + "method", r.Method, + "path", r.URL.Path, + "status", recorder.status, + "duration", time.Since(start), + "remote", r.RemoteAddr, + "x-forwarded-for", r.Header.Get("x-forwarded-for"), + ) }) } |
