package logger import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" ) type Logger struct { *zap.SugaredLogger } func NewLogger(debug bool) *Logger { var config zap.Config if debug { config = zap.NewDevelopmentConfig() config.EncoderConfig.EncodeLevel = zapcore.CapitalColorLevelEncoder // 在开发模式下,禁用时间戳和调用者信息,使输出更简洁 config.EncoderConfig.TimeKey = "" config.EncoderConfig.CallerKey = "" } else { config = zap.NewProductionConfig() config.EncoderConfig.TimeKey = "timestamp" config.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder } logger, err := config.Build() if err != nil { panic(err) } return &Logger{ SugaredLogger: logger.Sugar(), } }