slf4j, logback, целевой сжатый файл уже существует - PullRequest
0 голосов
/ 07 сентября 2018

logback 1.1.5 + slf4j 1.7.4.

Ролловер в полночь

 00:00:00,163 |-INFO in c.q.l.co.rolling.helper.RenameUtil - Renaming file [/opt/wls/appl/log/out.log] to [/opt/wls/appl/log/out.log1294410077875834.tmp]
 00:00:00,164 |-INFO in ch.qos.logback.core.rolling.helper.Compressor - ZIP compressing [/opt/wls/appl/log/out.log1294410077875834.tmp] as [/opt/wls/appl/log/archive/out/out-2018-09-04.10.zip]

Но через несколько секунд перезапуск снова начинается

 00:01:52,551 |-INFO in c.q.l.co.rolling.helper.RenameUtil - Renaming file [/opt/wls/appl/log/out.log] to [/opt/wls/appl/log/out.log1294522459498363.tmp]
 00:01:52,551 |-WARN in ch.qos.logback.core.rolling.helper.Compressor - The target compressed file named [/opt/wls/appl/log/archive/out/out-2018-09-04.0.zip] exist already.

На 2 виртуальных серверах WLS есть 2 приложения. Оба приложения используют отдельную домашнюю папку с собственным logback.xml.

logback.xml - это

<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${PRG_HOME}/logs/out/out-%d{yyyy-MM-dd}.%i.zip</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>100MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
        <pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n%ex</pattern>
    </encoder>
</appender>
<appender name="ASYNC_COMMON" class="ch.qos.logback.classic.AsyncAppender">
    <queueSize>32000</queueSize>
    <appender-ref ref="ROLLING" />
</appender>

Что я могу сделать?

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете попробовать добавить <prudent>true</prudent> к вашему RollingFileAppender. Это должно позволить нескольким JVM безопасно записывать в один файл.

Существуют некоторые ограничения , которые применяются к режиму prudent. Сжатие файла журнала не разрешено, например.

...