diff --git a/const.go b/const.go index 2f14d6d..c300fba 100644 --- a/const.go +++ b/const.go @@ -1,5 +1,5 @@ package golog const ( - Version = "1.0.54" + Version = "1.0.55" ) diff --git a/zap.go b/zap.go index 95d8647..9ba035d 100644 --- a/zap.go +++ b/zap.go @@ -19,7 +19,6 @@ type ZapLogConfig struct { MaxAge int // 文件最多保存多少天 0=不删除 LocalTime bool // 采用本地时间 Compress bool // 是否压缩日志 - EnableColor bool // level大写染色编码器 JsonFormat bool // 是否输出为json格式 ShowLine bool // 显示代码行 LogInConsole bool // 是否同时输出到控制台 @@ -37,23 +36,29 @@ func NewZapLog(config *ZapLogConfig) *ZapLog { var syncer zapcore.WriteSyncer - // 定义日志切割配置 - hook := lumberjack.Logger{ - Filename: zl.config.LogPath + zl.config.LogName, // ⽇志⽂件路径 - MaxSize: zl.config.MaxSize, // 单位为MB,默认为512MB - MaxBackups: zl.config.MaxBackups, // 保留旧文件的最大个数 - LocalTime: zl.config.LocalTime, // 采用本地时间 - Compress: zl.config.Compress, // 是否压缩日志 - } - if zl.config.MaxAge > 0 { - hook.MaxAge = zl.config.MaxAge // 文件最多保存多少天 - } - - // 判断是否控制台输出日志 - if zl.config.LogInConsole { - syncer = zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), zapcore.AddSync(&hook)) + if zl.config.LogPath != "" && zl.config.LogName != "" { + // 定义日志切割配置 + hook := lumberjack.Logger{ + Filename: zl.config.LogPath + zl.config.LogName, // ⽇志⽂件路径 + MaxSize: zl.config.MaxSize, // 单位为MB,默认为512MB + MaxBackups: zl.config.MaxBackups, // 保留旧文件的最大个数 + LocalTime: zl.config.LocalTime, // 采用本地时间 + Compress: zl.config.Compress, // 是否压缩日志 + } + if zl.config.MaxAge > 0 { + // 文件最多保存多少天 + hook.MaxAge = zl.config.MaxAge + } + if zl.config.LogInConsole { + // 在控制台和文件输出日志 + syncer = zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), zapcore.AddSync(&hook)) + } else { + // 在文件输出日志 + syncer = zapcore.AddSync(&hook) + } } else { - syncer = zapcore.AddSync(&hook) + // 在控制台输出日志 + syncer = zapcore.NewMultiWriteSyncer() } // 自定义时间输出格式