summaryrefslogtreecommitdiff
path: root/internal/server/middleware.go
diff options
context:
space:
mode:
authormihna123 <mihailonvojinovic@gmail.com>2026-08-21 21:20:28 +0200
committermihna123 <mihailonvojinovic@gmail.com>2026-08-21 21:20:28 +0200
commitb840ed889f464d4be3a1fabe37795c8afe59dfeb (patch)
treea1d7356c3efd69cffb4596dd0732d8461de9e78f /internal/server/middleware.go
parent848ce19b5097e4d26b0106f3158ec2140e52b5a4 (diff)
downloadopenstore-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.go13
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"),
+ )
})
}