fix: extract requestLogLevel to reduce cyclomatic complexity

This commit is contained in:
2026-06-19 13:40:05 +02:00
committed by Milas Holsting
parent bb37b8e18a
commit 3dcfc6157e

View File

@@ -23,14 +23,7 @@ func RequestLogger(metrics *observability.Metrics) gin.HandlerFunc {
duration := time.Since(start) duration := time.Since(start)
metrics.ObserveHTTPRequest(c.Request.Method, route, c.Writer.Status(), duration) metrics.ObserveHTTPRequest(c.Request.Method, route, c.Writer.Status(), duration)
level := observability.LogLevelInfo
status := c.Writer.Status() status := c.Writer.Status()
if status >= 500 {
level = observability.LogLevelError
} else if status >= 400 {
level = observability.LogLevelWarn
}
fields := map[string]any{ fields := map[string]any{
"client_ip": c.ClientIP(), "client_ip": c.ClientIP(),
"duration_ms": float64(duration.Microseconds()) / 1000, "duration_ms": float64(duration.Microseconds()) / 1000,
@@ -62,7 +55,7 @@ func RequestLogger(metrics *observability.Metrics) gin.HandlerFunc {
observability.LogContext( observability.LogContext(
c.Request.Context(), c.Request.Context(),
level, requestLogLevel(status),
"http_request", "http_request",
"http", "http",
c.Request.Method+" "+path, c.Request.Method+" "+path,
@@ -71,3 +64,13 @@ func RequestLogger(metrics *observability.Metrics) gin.HandlerFunc {
) )
} }
} }
func requestLogLevel(status int) observability.LogLevel {
if status >= 500 {
return observability.LogLevelError
}
if status >= 400 {
return observability.LogLevelWarn
}
return observability.LogLevelInfo
}