fix: extract requestLogLevel to reduce cyclomatic complexity
This commit is contained in:
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user