go-logging(停止维护了)替换成zap, zap的配置完善优化,gva的日志更换zap后的处理
This commit is contained in:
@@ -13,17 +13,17 @@ import (
|
||||
|
||||
var (
|
||||
err error
|
||||
level zapcore.Level
|
||||
level zapcore.Level
|
||||
writer zapcore.WriteSyncer
|
||||
)
|
||||
|
||||
func init() {
|
||||
if ok, _ := utils.PathExists(global.GVA_CONFIG.Zap.Director); !ok { // 判断是否有logs文件夹
|
||||
fmt.Println("create logs directory") // directory not exist
|
||||
if ok, _ := utils.PathExists(global.GVA_CONFIG.Zap.Director); !ok { // 判断是否有Director文件夹
|
||||
fmt.Printf("create %v directory\n", global.GVA_CONFIG.Zap.Director)
|
||||
_ = os.Mkdir(global.GVA_CONFIG.Zap.Director, os.ModePerm)
|
||||
}
|
||||
|
||||
switch global.GVA_CONFIG.Zap.Level {// 初始化配置文件的Level
|
||||
switch global.GVA_CONFIG.Zap.Level { // 初始化配置文件的Level
|
||||
case "debug":
|
||||
level = zap.DebugLevel
|
||||
case "info":
|
||||
@@ -32,6 +32,12 @@ func init() {
|
||||
level = zap.WarnLevel
|
||||
case "error":
|
||||
level = zap.ErrorLevel
|
||||
case "dpanic":
|
||||
level = zap.DPanicLevel
|
||||
case "panic":
|
||||
level = zap.PanicLevel
|
||||
case "fatal":
|
||||
level = zap.FatalLevel
|
||||
default:
|
||||
level = zap.InfoLevel
|
||||
}
|
||||
@@ -43,23 +49,19 @@ func init() {
|
||||
}
|
||||
|
||||
if level == zap.DebugLevel || level == zap.ErrorLevel {
|
||||
global.GVA_ZAP = zap.New(getEncoderCore(), zap.AddStacktrace(level))
|
||||
if global.GVA_CONFIG.Zap.ShowLine {
|
||||
global.GVA_ZAP.WithOptions(zap.AddCaller())
|
||||
}
|
||||
return
|
||||
global.GVA_LOG = zap.New(getEncoderCore(), zap.AddStacktrace(level))
|
||||
} else {
|
||||
global.GVA_LOG = zap.New(getEncoderCore())
|
||||
}
|
||||
global.GVA_ZAP = zap.New(getEncoderCore())
|
||||
if global.GVA_CONFIG.Zap.ShowLine {
|
||||
global.GVA_ZAP.WithOptions(zap.AddCaller())
|
||||
global.GVA_LOG.WithOptions(zap.AddCaller())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// getWriteSyncer zap logger中加入file-rotatelogs
|
||||
func getWriteSyncer() (zapcore.WriteSyncer, error) {
|
||||
fileWriter, err := zaprotatelogs.New(
|
||||
global.GVA_CONFIG.Zap.Director+string(os.PathSeparator)+"%Y-%m-%d-%H-%M.log",
|
||||
global.GVA_CONFIG.Zap.Director+string(os.PathSeparator)+"%Y-%m-%d.log",
|
||||
zaprotatelogs.WithLinkName(global.GVA_CONFIG.Zap.LinkName),
|
||||
zaprotatelogs.WithMaxAge(7*24*time.Hour),
|
||||
zaprotatelogs.WithRotationTime(24*time.Hour),
|
||||
@@ -78,18 +80,41 @@ func getEncoderConfig() (config zapcore.EncoderConfig) {
|
||||
TimeKey: "time",
|
||||
NameKey: "logger",
|
||||
CallerKey: "caller",
|
||||
StacktraceKey: "stacktrace",
|
||||
StacktraceKey: global.GVA_CONFIG.Zap.StacktraceKey,
|
||||
LineEnding: zapcore.DefaultLineEnding,
|
||||
EncodeLevel: zapcore.CapitalColorLevelEncoder,
|
||||
EncodeLevel: zapcore.CapitalLevelEncoder,
|
||||
EncodeTime: CustomTimeEncoder,
|
||||
EncodeDuration: zapcore.SecondsDurationEncoder,
|
||||
EncodeCaller: zapcore.FullCallerEncoder,
|
||||
}
|
||||
switch {
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "LowercaseLevelEncoder" && global.GVA_CONFIG.Zap.Format == "console" : // console小写编码器
|
||||
config.EncodeLevel = zapcore.LowercaseLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "LowercaseLevelEncoder" && global.GVA_CONFIG.Zap.Format == "json" : // json小写编码器
|
||||
config.EncodeLevel = zapcore.LowercaseLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "LowercaseColorLevelEncoder" && global.GVA_CONFIG.Zap.Format == "console": // console小写编码器带颜色
|
||||
config.EncodeLevel = zapcore.LowercaseColorLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "LowercaseColorLevelEncoder" && global.GVA_CONFIG.Zap.Format == "json": // json小写编码器带颜色
|
||||
config.EncodeLevel = zapcore.LowercaseColorLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "CapitalLevelEncoder" && global.GVA_CONFIG.Zap.Format == "console": // console大写编码器
|
||||
config.EncodeLevel = zapcore.CapitalLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "CapitalLevelEncoder" && global.GVA_CONFIG.Zap.Format == "json": // json大写编码器
|
||||
config.EncodeLevel = zapcore.CapitalLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "CapitalColorLevelEncoder" && global.GVA_CONFIG.Zap.Format == "console": // console 大写编码器带颜色
|
||||
config.EncodeLevel = zapcore.CapitalColorLevelEncoder
|
||||
case global.GVA_CONFIG.Zap.EncodeLevel == "CapitalColorLevelEncoder" && global.GVA_CONFIG.Zap.Format == "json": // json 大写编码器带颜色
|
||||
config.EncodeLevel = zapcore.CapitalColorLevelEncoder
|
||||
default:
|
||||
config.EncodeLevel = zapcore.LowercaseLevelEncoder
|
||||
}
|
||||
return config
|
||||
}
|
||||
|
||||
// getEncoder 获取zapcore.Encoder
|
||||
func getEncoder() zapcore.Encoder {
|
||||
if global.GVA_CONFIG.Zap.Format == "json" {
|
||||
return zapcore.NewJSONEncoder(getEncoderConfig())
|
||||
}
|
||||
return zapcore.NewConsoleEncoder(getEncoderConfig())
|
||||
}
|
||||
|
||||
@@ -100,5 +125,5 @@ func getEncoderCore() (core zapcore.Core) {
|
||||
|
||||
// 自定义日志输出时间格式
|
||||
func CustomTimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
||||
enc.AppendString(t.Format(global.GVA_CONFIG.Zap.Prefix+"2006/01/02 - 15:04:05.000"))
|
||||
enc.AppendString(t.Format(global.GVA_CONFIG.Zap.Prefix + "2006/01/02 - 15:04:05.000"))
|
||||
}
|
||||
|
Reference in New Issue
Block a user