feat: complete SOP version management
This commit is contained in:
@@ -24,9 +24,10 @@ func RequestLogger(log *zap.Logger) gin.HandlerFunc {
|
||||
c.Header("X-Request-ID", requestID)
|
||||
c.Next()
|
||||
|
||||
duration := time.Since(started)
|
||||
fields := []zap.Field{
|
||||
zap.String("request_id", requestID), zap.String("method", c.Request.Method), zap.String("path", c.Request.URL.Path),
|
||||
zap.Int("status", c.Writer.Status()), zap.Int("response_bytes", c.Writer.Size()), zap.Duration("duration", time.Since(started)), zap.String("client_ip", c.ClientIP()),
|
||||
zap.Int("status", c.Writer.Status()), zap.Int("response_bytes", c.Writer.Size()), zap.Int64("duration_ms", duration.Milliseconds()), zap.String("client_ip", c.ClientIP()),
|
||||
}
|
||||
if principal, ok := auth.PrincipalFromContext(c); ok {
|
||||
fields = append(fields, zap.Uint64("tenant_id", principal.TenantID), zap.Uint64("user_id", principal.UserID))
|
||||
@@ -34,7 +35,14 @@ func RequestLogger(log *zap.Logger) gin.HandlerFunc {
|
||||
if len(c.Errors) > 0 {
|
||||
fields = append(fields, zap.String("errors", c.Errors.String()))
|
||||
}
|
||||
log.Info("http request", fields...)
|
||||
switch status := c.Writer.Status(); {
|
||||
case status >= http.StatusInternalServerError:
|
||||
log.Error("http request", fields...)
|
||||
case status >= http.StatusBadRequest:
|
||||
log.Warn("http request", fields...)
|
||||
default:
|
||||
log.Info("http request", fields...)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user