API 参考
核心功能
初始化
go
func Init(mode string)
初始化日志系统,其中mode
参数可以是:
gin.DebugMode
: 调试模式,输出所有日志级别gin.ReleaseMode
: 发布模式,仅输出Info级别及以上日志
获取实例
go
func GetLogger() *zap.SugaredLogger
该方法通常用于,提供给用户一个方案,使得用户可以自由一个新的 logger 函数。
通常在封装函数内调用 logger 时,输出的调用栈是封装内 logger 的行号
go
logger.GetLogger().WithOptions(zap.AddCallerSkip(1)).Errorln(err)
使用 WithOptions(zap.AddCallerSkip(1))
可以使得输出的调用栈是调用该封装函数的文件和行号。
中间件功能
AuditMiddleware
go
func AuditMiddleware(logMapHandler func(*gin.Context, map[string]string)) gin.HandlerFunc
创建审计中间件,自动记录 HTTP 请求的详细信息。
参数:
logMapHandler
: 可选的自定义日志处理器函数
NewSessionLogger
go
func NewSessionLogger(c *gin.Context) *SessionLogger
创建会话日志实例,用于在单个请求上下文中记录日志。
参数:
c
: Gin 上下文
返回:
*SessionLogger
: 会话日志实例
SLS 集成
InitSLS
go
func InitSLS(ctx context.Context)
初始化 SLS (Simple Log Service) 集成。
参数:
ctx
: 上下文,用于控制生产者生命周期
NewLogBuffer
go
func NewLogBuffer() *LogBuffer
创建新的日志缓冲区实例。详见 LogBuffer 文档。
GORM 集成
NewGormLogger
go
func NewGormLogger(writer gormlogger.Writer, config gormlogger.Config) *GormLogger
创建 GORM 日志器实例。
参数:
writer
: 日志输出目标config
: 日志配置
DefaultGormLogger
go
var DefaultGormLogger *GormLogger
默认的 GORM 日志器实例,包含合理的默认配置。
同步缓冲区
go
func Sync()
同步并刷新所有缓冲的日志条目。在程序退出前调用可确保所有日志被写入。
Debug
go
func Debug(args ...any)
Debugf
go
func Debugf(format string, args ...any)
Info
go
func Info(args ...any)
Infof
go
func Infof(format string, args ...any)
Warn
go
func Warn(args ...any)
Warnf
go
func Warnf(format string, args ...any)
Error
go
func Error(args ...any)
Errorf
go
func Errorf(format string, args ...any)
Fatal
go
func Fatal(args ...any)
Fatalf
go
func Fatalf(format string, args ...any)
Panic
go
func Panic(args ...any)
Panicf
go
func Panicf(format string, args ...any)
DPanic
go
func DPanic(args ...any)
DPanicf
go
func DPanicf(format string, args ...any)