Lumberjack切割日志
Lumberjack切割日志
2021年5月8日
10:04
接上篇 https://www.cnblogs.com/rabbithacker/p/zap_logger.html
首先安装Lumberjack:go get -u github.com/natefinch/lumberjack
使用:
func getLogWriter() zapcore.WriteSyncer { file, _ := os.Create("./test.log") return zapcore.AddSync(file) }
替换成:
//创建保存日志的文件 func getLogWriter() zapcore.WriteSyncer { lumberJackLogger := &lumberjack.Logger{ Filename: "./test.log", MaxSize: 10, MaxBackups: 5, MaxAge: 30, Compress: false, } return zapcore.AddSync(lumberJackLogger) }
Lumberjack Logger采用以下属性作为输入:
- Filename: 日志文件的位置
- MaxSize:在进行切割之前,日志文件的最大大小(以MB为单位)
- MaxBackups:保留旧文件的最大个数
- MaxAges:保留旧文件的最大天数
- Compress:是否压缩/归档旧文件
实现功能:
可以多次执行main函数记录日志(日志文件内容尾部增加),达到一定大小对文件进行切割,有保存时间。切割时原日志名不变,内容因转移而清空