Documentation
¶
Index ¶
- func CloseLogger()
- func DPanic(args ...any)
- func DPanicf(format string, args ...any)
- func DPanicln(args ...any)
- func DPanicw(msg string, keysAndValues ...any)
- func DPanicx(msg string, fields ...zapcore.Field)
- func Debug(args ...any)
- func Debugf(format string, args ...any)
- func Debugln(args ...any)
- func Debugw(msg string, keysAndValues ...any)
- func Debugx(msg string, fields ...zapcore.Field)
- func Error(args ...any)
- func Errorf(format string, args ...any)
- func Errorln(args ...any)
- func Errorw(msg string, keysAndValues ...any)
- func Errorx(msg string, fields ...zapcore.Field)
- func Fatal(args ...any)
- func Fatalf(format string, args ...any)
- func Fatalln(args ...any)
- func Fatalw(msg string, keysAndValues ...any)
- func Fatalx(msg string, fields ...zapcore.Field)
- func Info(args ...any)
- func Infof(format string, args ...any)
- func Infoln(args ...any)
- func Infow(msg string, keysAndValues ...any)
- func Infox(msg string, fields ...zapcore.Field)
- func Panic(args ...any)
- func Panicf(format string, args ...any)
- func Panicln(args ...any)
- func Panicw(msg string, keysAndValues ...any)
- func Panicx(msg string, fields ...zapcore.Field)
- func SetLevel(l zapcore.Level)
- func SetupLogger(logfile string)
- func Warn(args ...any)
- func Warnf(format string, args ...any)
- func Warning(args ...any)
- func Warningf(format string, args ...any)
- func Warningln(args ...any)
- func Warningw(msg string, keysAndValues ...any)
- func Warningx(msg string, fields ...zapcore.Field)
- func Warnln(args ...any)
- func Warnw(msg string, keysAndValues ...any)
- func Warnx(msg string, fields ...zapcore.Field)
- type ILogger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseLogger ¶
func CloseLogger()
CloseLogger 在进程退出前调用,将缓冲区中未写入的日志强制刷写到磁盘。
Zap 为了性能会缓冲部分日志,不调用 Sync 可能导致最后几条日志丢失。 建议在 main 函数中通过 defer CloseLogger() 确保此函数被调用。
func SetupLogger ¶
func SetupLogger(logfile string)
SetupLogger 初始化全局日志器。
日志格式(Console 格式):时间 级别 [文件:行号] 消息
logfile 参数行为:
- 空字符串:日志输出到 stdout
- 非空路径:日志输出到指定文件(通过 timberjack 自动按天轮转)
配置要点:
- AddCallerSkip(2):跳过封装层调用帧,确保显示业务代码的真实调用位置
- AddStacktrace(ErrorLevel):Error 及以上级别自动附加调用栈,便于问题定位
- 时间格式含毫秒(.999),兼顾可读性和精度
Types ¶
type ILogger ¶
type ILogger interface {
Print(...any)
Println(...any)
Printf(string, ...any)
Printw(string, ...any)
Printx(string, ...zapcore.Field)
Debug(...any)
Debugln(...any)
Debugf(string, ...any)
Debugw(string, ...any)
Debugx(string, ...zapcore.Field)
Info(...any)
Infoln(...any)
Infof(string, ...any)
Infow(string, ...any)
Infox(string, ...zapcore.Field)
Warn(...any)
Warnln(...any)
Warnf(string, ...any)
Warnw(string, ...any)
Warnx(string, ...zapcore.Field)
Warning(...any)
Warningln(...any)
Warningf(string, ...any)
Warningw(string, ...any)
Warningx(string, ...zapcore.Field)
Error(...any)
Errorln(...any)
Errorf(string, ...any)
Errorw(string, ...any)
Errorx(string, ...zapcore.Field)
Panic(...any)
Panicln(...any)
Panicf(string, ...any)
Panicw(string, ...any)
Panicx(string, ...zapcore.Field)
Fatal(...any)
Fatalln(...any)
Fatalf(string, ...any)
Fatalw(string, ...any)
Fatalx(string, ...zapcore.Field)
DPanic(...any)
DPanicln(...any)
DPanicf(string, ...any)
DPanicw(string, ...any)
DPanicx(string, ...zapcore.Field)
Enabled(level zapcore.Level) bool
SubLogger() ILogger
SubLoggerWithFields(fields ...zap.Field) ILogger
SubLoggerWithKeyValue(map[string]string) ILogger
SubLoggerWithOption(...zap.Option) ILogger
}
ILogger 定义完整的日志记录接口,覆盖 Debug/Info/Warn/Error/Panic/Fatal/DPanic 七个级别。
每个级别提供五种调用风格:
- 普通风格(Debug):接受任意参数,空格分隔
- 换行风格(Debugln):同普通风格,末尾追加换行
- 格式化风格(Debugf):fmt.Sprintf 格式
- 键值对风格(Debugw):msg + key/value 对,适合结构化日志
- 字段风格(Debugx):msg + zapcore.Field,性能最优,零内存分配
Warning 系列是 Warn 系列的别名,兼容 gRPC 等期望 Warning 方法的接口。
func SubLoggerWithFields ¶
SubLoggerWithFields 获取附加了固定字段的子 Logger。
func SubLoggerWithKeyValue ¶
SubLoggerWithKeyValue 通过键值对 map 获取附加了固定字段的子 Logger。
func SubLoggerWithOption ¶
SubLoggerWithOption 通过 zap.Option 获取自定义配置的子 Logger。
Click to show internal directories.
Click to hide internal directories.