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函数记录日志(日志文件内容尾部增加),达到一定大小对文件进行切割,有保存时间。切割时原日志名不变,内容因转移而清空

posted @ 2021-05-08 10:12  秋月桐  阅读(698)  评论(0编辑  收藏  举报