![在这里插入图片描述](https://img-blog.csdnimg.cn/80d9566fa0fc41f6817dcdd986bf783e.png)
app.log
![在这里插入图片描述](https://img-blog.csdnimg.cn/addace09d45f4fc3891bb2628bf33f5e.png)
error.log
![在这里插入图片描述](https://img-blog.csdnimg.cn/f3ee69e62c5f46549de78fbc4a343cfd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5L2c5Lia6L-Y5rKh5YaZ5a6M,size_20,color_FFFFFF,t_70,g_se,x_16)
package main
import (
"time"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
"gopkg.in/natefinch/lumberjack.v2"
)
func main() {
var logger *zap.Logger
encoderConfig := zap.NewProductionEncoderConfig()
encoderConfig.EncodeTime = func(time time.Time, encoder zapcore.PrimitiveArrayEncoder) {
encoder.AppendString("[" + time.Format("2006-01-02 15:04:05.000") + "]")
}
encoderConfig.EncodeLevel = zapcore.CapitalLevelEncoder
encoder := zapcore.NewConsoleEncoder(encoderConfig)
warnLevel := zap.LevelEnablerFunc(func(lvl zapcore.Level) bool {
return lvl <= zapcore.WarnLevel
})
errorLevel := zap.LevelEnablerFunc(func(lvl zapcore.Level) bool {
return lvl >= zapcore.ErrorLevel
})
errorLogger := &lumberjack.Logger {
Filename: "D:\\logs\\error.log",
MaxSize: 1,
MaxBackups: 1,
MaxAge: 1,
Compress: true,
}
warnLogger := &lumberjack.Logger {
Filename: "D:\\logs\\app.log",
MaxSize: 1,
MaxBackups: 1,
MaxAge: 1,
Compress: true,
}
core := zapcore.NewTee(
zapcore.NewCore(encoder, zapcore.AddSync(warnLogger), warnLevel),
zapcore.NewCore(encoder, zapcore.AddSync(errorLogger), errorLevel),
)
logger = zap.New(core, zap.AddCaller())
logger.Debug("Debug")
logger.Info("Info")
logger.Warn("Warn")
logger.Error("Error")
logger.Panic("Panic")
}