完成日志输出到文件、终端多处的处理

This commit is contained in:
2024-11-13 16:11:59 +08:00
parent 9b643f4352
commit 28291598bb
28 changed files with 175 additions and 330 deletions

38
logger/logger.go Normal file
View File

@@ -0,0 +1,38 @@
package logger
import (
"game-driver/config"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"log"
"os"
)
func InitLogger() {
// 解析日志级别
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 Sync() {
zap.L().Sync()
}