有没有办法在压缩旋转的日志文件之前添加延迟

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 在特定时间运行并收集所有已轮换的日志,然后将其传递给执行压缩部分的下一个模块。