Logback配置每日每月轮换和压缩

时间:2017-10-02 06:51:54

标签: logback

是否可以设置logback的配置以每天创建.log文件并保留30个文件,然后将文件压缩到一个zip中并再次开始创建.log文件?

1 个答案:

答案 0 :(得分:2)

你可以......

  

每天创建一个.log文件并保留30个文件

...使用RollingFileAppenderTimeBasedRollingPolicy。这是一个例子:

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
      <!-- retain 30 days logs -->
      <maxHistory>30</maxHistory>
    </rollingPolicy>

    <encoder>
      <pattern>...</pattern>
    </encoder>
  </appender>

但是没有Logback appender会执行此操作:

  

将文件压缩到一个zip中,然后再次开始创建.log

为此你可以:

  • 编写自己的appender(有关此in the docs的详细信息)

  • 处理外部Logback;你正在处理一个文件系统上的文件,所以一个cron作业运行一个shell脚本,它找到上一个 n 天的所有文件并将它们拉上来然后删除它们就可以了。