1
0
Files
nex/backend/pkg/logger/field.go
lanyuanxiaoyao 280099b89c refactor: 后端日志系统重构
- 新增模块化日志器(pkg/logger/module.go)
- 新增 GORM 日志适配器
- 统一日志入口,移除所有 zap.L() 全局 logger 调用
- 字段标准化
- 启动阶段使用结构化日志
- 更新所有相关测试
2026-04-23 18:37:51 +08:00

78 lines
1.5 KiB
Go

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)
}