完成日志输出到文件、终端多处的处理
This commit is contained in:
38
logger/logger.go
Normal file
38
logger/logger.go
Normal 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()
|
||||
}
|
||||
Reference in New Issue
Block a user