如何通过logback将multy文件压缩为一个zip?

时间:2017-07-03 14:30:47

标签: logging compression logback

我们的项目每天将生成大约100GB的日志。所以我们尝试使用logback来压缩这些日志以节省磁盘容量。

但遗憾的是,我每次都只能找到压缩一个文件的方法。

  • 我想要的是:hour1.log,hour2.log,hour3.log =>拉链到 hour1-3.log.zip
  • 但我可以通过logback得到的是:hour1.log,hour2.log,hour3.log => hour1.log.zip,hour2.log.zip,hour3.log.zip。

我使用的配置如下:

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">   
  <fileNamePattern>${catalina.home}/%i.log.gz</fileNamePattern>   
  <minIndex>1</minIndex>   
  <maxIndex>3</maxIndex>   
</rollingPolicy>   

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">   
  <maxFileSize>10MB</maxFileSize>   
</triggeringPolicy>

如果每个日志文件都是50MB(如果每个文件1GB,很难打开和编辑),这意味着我将在日志路径下拥有2000个zip文件(总共100GB),这将是太多和荒谬。

所以请帮助我。有任何技巧或提示,以实现我想要的。很酷,因为回归不应该那么简单。

1 个答案:

答案 0 :(得分:0)

在检查了logback的源代码后,我可以看出,它不支持压缩多文件。换句话说,logback可以通过两种方式实现“一个”日志文件,重命名这个日志或压缩这一个日志。原因在适当的时间点做一些滚动。

总之,logback(1.2.3)不支持将多个文件压缩为一个zip文件。