Logback 配置每日轮换和每月压缩
Logback configuration daily rotate and zip monthly
是否可以设置logback的配置每天创建一个.log文件并保留30个文件然后将文件压缩成一个zip并重新开始创建.log?
你可以...
create a .log file every day and keep 30 files
... 使用 RollingFileAppender
和 TimeBasedRollingPolicy
。这是一个例子:
<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 the files in one zip and start to create .log again
为此你可以:
- 编写您自己的附加程序(关于此的大量详细信息in the docs)
或
- 在 Logback 之外处理这个;您正在处理文件系统上的文件,因此运行 shell 脚本的 cron 作业会查找最近 n 天的所有文件并将它们压缩然后删除它们做这个把戏。
是否可以设置logback的配置每天创建一个.log文件并保留30个文件然后将文件压缩成一个zip并重新开始创建.log?
你可以...
create a .log file every day and keep 30 files
... 使用 RollingFileAppender
和 TimeBasedRollingPolicy
。这是一个例子:
<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 the files in one zip and start to create .log again
为此你可以:
- 编写您自己的附加程序(关于此的大量详细信息in the docs)
或
- 在 Logback 之外处理这个;您正在处理文件系统上的文件,因此运行 shell 脚本的 cron 作业会查找最近 n 天的所有文件并将它们压缩然后删除它们做这个把戏。