package middleware import ( "github.com/Wikid82/charon/backend/internal/util" "time" "github.com/gin-gonic/gin" ) // RequestLogger logs basic request information along with the request_id. func RequestLogger() gin.HandlerFunc { return func(c *gin.Context) { start := time.Now() c.Next() latency := time.Since(start) entry := GetRequestLogger(c) entry.WithFields(map[string]interface{}{ "status": c.Writer.Status(), "method": c.Request.Method, "path": SanitizePath(c.Request.URL.Path), "latency": latency.String(), "client": util.SanitizeForLog(c.ClientIP()), }).Info("handled request") } }