Я использую автоматическую прокрутку и сжатие журналов, поддерживаемую TimeBasedRollingPolicy, предоставленной в Log4J Extras (см. Конфигурацию ниже).
Это нормально для приложения, которое выполняет эту регистрациюпостоянно останавливаться / запускаться, и я заметил, что автоматическое сжатие не происходит, если приложение останавливается во время события, запускающего опрокидывание (в данном случае ежечасное опрокидывание).Я нахожу это странным, поскольку само свертывание (без сжатия) все еще происходит и, кажется, работает нормально.
Разве невозможно обеспечить сжатие журналов для приложения, которое не работает непрерывно?
Кто-нибудь знает, как заставить это работать с Log4J?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true">
<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender">
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern" value="/var/batchproc/logs/log4j_roll_compress_%d{yyyy-MM-dd-kk}.log.gz"/>
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d] [%t] %-5p %c %m%n"/>
</layout>
</appender>
<root>
<appender-ref ref="ROLL"/>
</root>
</log4j:configuration>