【问题标题】:Is there any way to add a delay before compressing the rotated log file有没有办法在压缩旋转的日志文件之前添加延迟
【发布时间】:2019-01-21 05:35:23
【问题描述】:

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

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

【问题讨论】:

  • 您找到解决方案了吗?我也在找一样的。
  • 我已经使用 S3 上传选项扩展了 SizeAndTimeBasedRollingPolicy,它就像一个魅力。请参考我在问题陈述中给出的相同链接以供参考。

标签: java logback log-rotation logback-classic


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多