1

在压缩旋转的日志文件之前,我需要添加一些单位时间的延迟。我正在使用 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>

有什么办法吗?我在这里看到了一种扩展滚动策略类的方法但不确定类似的方法是否可以在这里工作。

4

1 回答 1

0

我已经通过应用程序 Cron 解决了这个问题。

首先,我将 logback 配置更新为不压缩,而只是简单地旋转日志。然后我的 Cron 在特定时间运行并收集所有已旋转的日志,然后将其传递给执行压缩部分的下一个模块。

于 2018-08-29T14:08:12.903 回答