refactor: 后端日志系统重构
- 新增模块化日志器(pkg/logger/module.go) - 新增 GORM 日志适配器 - 统一日志入口,移除所有 zap.L() 全局 logger 调用 - 字段标准化 - 启动阶段使用结构化日志 - 更新所有相关测试
This commit is contained in:
77
backend/pkg/logger/field.go
Normal file
77
backend/pkg/logger/field.go
Normal file
@@ -0,0 +1,77 @@
|
||||
package logger
|
||||
|
||||
import "go.uber.org/zap"
|
||||
|
||||
const (
|
||||
FieldRequestID = "request_id"
|
||||
FieldProviderID = "provider_id"
|
||||
FieldModelName = "model_name"
|
||||
FieldMethod = "method"
|
||||
FieldPath = "path"
|
||||
FieldStatusCode = "status"
|
||||
FieldLatency = "latency"
|
||||
FieldClientIP = "client_ip"
|
||||
FieldQuery = "query"
|
||||
FieldBodySize = "body_size"
|
||||
FieldSQL = "sql"
|
||||
FieldRows = "rows_affected"
|
||||
)
|
||||
|
||||
func RequestID(id string) zap.Field {
|
||||
return zap.String(FieldRequestID, id)
|
||||
}
|
||||
|
||||
func ProviderID(id string) zap.Field {
|
||||
return zap.String(FieldProviderID, id)
|
||||
}
|
||||
|
||||
func ModelName(name string) zap.Field {
|
||||
return zap.String(FieldModelName, name)
|
||||
}
|
||||
|
||||
func Method(method string) zap.Field {
|
||||
return zap.String(FieldMethod, method)
|
||||
}
|
||||
|
||||
func Path(path string) zap.Field {
|
||||
return zap.String(FieldPath, path)
|
||||
}
|
||||
|
||||
func StatusCode(code int) zap.Field {
|
||||
return zap.Int(FieldStatusCode, code)
|
||||
}
|
||||
|
||||
func Latency(latency interface{}) zap.Field {
|
||||
switch v := latency.(type) {
|
||||
case int64:
|
||||
return zap.Int64(FieldLatency, v)
|
||||
case int:
|
||||
return zap.Int(FieldLatency, v)
|
||||
default:
|
||||
return zap.Any(FieldLatency, latency)
|
||||
}
|
||||
}
|
||||
|
||||
func ClientIP(ip string) zap.Field {
|
||||
return zap.String(FieldClientIP, ip)
|
||||
}
|
||||
|
||||
func Query(query string) zap.Field {
|
||||
return zap.String(FieldQuery, query)
|
||||
}
|
||||
|
||||
func BodySize(size int) zap.Field {
|
||||
return zap.Int(FieldBodySize, size)
|
||||
}
|
||||
|
||||
func SQL(sql string) zap.Field {
|
||||
return zap.String(FieldSQL, sql)
|
||||
}
|
||||
|
||||
func Rows(rows int64) zap.Field {
|
||||
return zap.Int64(FieldRows, rows)
|
||||
}
|
||||
|
||||
func Err(err error) zap.Field {
|
||||
return zap.Error(err)
|
||||
}
|
||||
Reference in New Issue
Block a user