package logger import ( "game-driver/config" "go.uber.org/zap" "go.uber.org/zap/zapcore" "log" "os" ) func DefaultLogger() { logger, _ := zap.NewDevelopment() zap.ReplaceGlobals(logger) } func InitDevLogger() { // 解析日志级别 level, err := zapcore.ParseLevel(config.C.Log.Level) if err != nil { log.Panicln("日志级别配置错误: ", err) } // 默认开发模式 nc := zap.NewDevelopmentEncoderConfig() // console 格式输出 cn := zapcore.NewConsoleEncoder(nc) // 多个输出 mws := zapcore.NewMultiWriteSyncer(zapcore.AddSync(config.C.Log.File), zapcore.AddSync(os.Stdout)) // 核心配置 core := zapcore.NewCore(cn, mws, level) // 构建 logger logger := zap.New(core, zap.AddCaller()) // 替换全局 logger zap.ReplaceGlobals(logger) } func InitProLogger(cls *TenCls) { // 解析日志级别 level, err := zapcore.ParseLevel(config.C.Log.Level) if err != nil { log.Panicln("日志级别配置错误: ", err) } // 默认开发模式 nc := zap.NewProductionEncoderConfig() // json 格式输出 cn := zapcore.NewJSONEncoder(nc) // 多个输出 mws := zapcore.NewMultiWriteSyncer(zapcore.AddSync(cls), zapcore.AddSync(config.C.Log.File), zapcore.AddSync(os.Stdout)) // 核心配置 core := zapcore.NewCore(cn, mws, level) // 构建 logger logger := zap.New(core, zap.AddCaller()) // 替换全局 logger zap.ReplaceGlobals(logger) } func Sync() { zap.L().Sync() }