slf4j logback日志滚动创建.tmp文件

时间:2020-04-07 02:43:16

标签: java spring-boot logback slf4j

我有一个问题,有时日志滚动创建一个.tmp文件,而没有重新创建原始日志文件。有趣的是,我注意到在午夜前1分钟开始滚动日志时会发生这种情况。

1.7.15

我的logback.xml配置如下

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${COMPONENT_LOGDIR}/abc.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${COMPONENT_LOGDIR}/abc.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>

            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>750MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>10</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${logPatternMdc}</pattern>
        </encoder>
    </appender>

1 个答案:

答案 0 :(得分:0)

使用不同的滚动政策似乎已经解决了该问题。请参考下面的工作配置:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${COMPONENT_LOGDIR}/otm-rest.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <fileNamePattern>${COMPONENT_LOGDIR}/otm-rest.log.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
            <maxFileSize>750MB</maxFileSize>
            <maxHistory>30</maxHistory>
            <totalSizeCap>15GB</totalSizeCap>
    </rollingPolicy>
    <encoder>
        <pattern>${logPatternMdc}</pattern>
    </encoder>
</appender>