有没有办法在压缩旋转的日志文件之前添加延迟
Is there any way to add a delay before compressing the rotated log file
我需要在压缩旋转日志文件之前添加一些单位时间的延迟。我正在使用 logback-core,我的 xml 看起来像这样:-
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>app-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>1GB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>7GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{35}- %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="file"/>
</root>
</configuration>
有什么办法吗?
我看到了一种扩展滚动策略的方法 class here,但不确定类似的方法是否可以在这里工作。
我已经通过应用程序Cron解决了这个问题。
首先,我将 logback 配置更新为不压缩,只是简单地轮换日志。然后我的 Cron 在特定时间运行并收集所有已轮换的日志,然后将其传递给执行压缩部分的下一个模块。
我需要在压缩旋转日志文件之前添加一些单位时间的延迟。我正在使用 logback-core,我的 xml 看起来像这样:-
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>app-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>1GB</maxFileSize>
<maxHistory>7</maxHistory>
<totalSizeCap>7GB</totalSizeCap>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{35}- %msg%n</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="file"/>
</root>
</configuration>
有什么办法吗? 我看到了一种扩展滚动策略的方法 class here,但不确定类似的方法是否可以在这里工作。
我已经通过应用程序Cron解决了这个问题。
首先,我将 logback 配置更新为不压缩,只是简单地轮换日志。然后我的 Cron 在特定时间运行并收集所有已轮换的日志,然后将其传递给执行压缩部分的下一个模块。