44 lines
817 B
Go
44 lines
817 B
Go
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 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()
|
|
}
|