Documentation
¶
Index ¶
- Variables
- func APILog() *zap.Logger
- func Close() error
- func DBLog() *zap.Logger
- func Debug(msg string, fields ...zap.Field)
- func Debugf(template string, args ...any)
- func Error(msg string, fields ...zap.Field)
- func Errorf(template string, args ...any)
- func Fatal(msg string, fields ...zap.Field)
- func Fatalf(template string, args ...any)
- func Info(msg string, fields ...zap.Field)
- func Infof(template string, args ...any)
- func Init(cfg *config.Config) error
- func Sync() error
- func Warn(msg string, fields ...zap.Field)
- func Warnf(template string, args ...any)
Constants ¶
This section is empty.
Variables ¶
View Source
var Field = struct { String func(key string, value string) zap.Field Int func(key string, value int) zap.Field Int64 func(key string, value int64) zap.Field Bool func(key string, value bool) zap.Field Uint func(key string, value uint) zap.Field Float64 func(key string, value float64) zap.Field Duration func(key string, value interface{}) zap.Field Error func(err error) zap.Field }{ String: zap.String, Int: zap.Int, Int64: zap.Int64, Bool: zap.Bool, Uint: zap.Uint, Float64: zap.Float64, Duration: func(key string, value interface{}) zap.Field { switch v := value.(type) { case zap.Field: return v default: return zap.Any(key, value) } }, Error: func(err error) zap.Field { return zap.Error(err) }, }
Field Zap 字段别名,用于简化日志字段定义
View Source
var ( // Logger 全局通用日志实例。Init 之前为 Nop,调用安全。 Logger = zap.NewNop() )
Functions ¶
func Close ¶
func Close() error
Close 关闭日志文件句柄,重置全局 logger 为 Nop。 通常由 App.Shutdown 在 Sync 之后调用;测试场景需要清理临时目录时也应调用。
调用后再次写日志不会 panic(fall back to nop logger),但不会写入文件。 如需重新启用,请再次调用 Init。
func Init ¶
Init 初始化日志。
三个 logger 的分流策略:
- Logger(通用):写 console + logs/app.log
- APILog() :写 console + logs/api.log
- DBLog() :写 console + logs/database.log
关键修复(v1.0.3):旧实现把 apiCore 和 dbCore 都 Tee 进通用 Logger, 导致每条 logger.Info(...) 都会同时落到 api.log + database.log + console 三份,磁盘占用翻倍且分流形同虚设。新实现通用 Logger 只走独立的 app.log。
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.