forked from aceld/zinx
/
logger.go
39 lines (33 loc) · 885 Bytes
/
logger.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package znet
import (
"github.com/chnkenc/zinx-xiaoan/ziface"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
var (
logger ziface.ILogger
defaultLogLevel LogLevel
)
type LogLevel uint8
// SetLogger 设置日志处理器
func SetLogger(logHandler ziface.ILogger, level LogLevel) {
if logHandler == nil {
logger = LoadZapLogger(level)
} else {
logger = logHandler
}
}
// GetLogger 获取日志处理器
func GetLogger() ziface.ILogger {
return logger
}
// LoadZapLogger 加载zap日志处理器
// 默认使用zap sugar
func LoadZapLogger(level LogLevel) ziface.ILogger {
zapConfig := zap.NewDevelopmentConfig()
zapLogLevel := zapcore.Level(level)
zapConfig.Level = zap.NewAtomicLevelAt(zapLogLevel)
zapConfig.EncoderConfig.EncodeTime = zapcore.TimeEncoderOfLayout("[2006-01-02 15:04:05.000]")
zapLogger, _ := zapConfig.Build()
return zapLogger.Sugar()
}