Я использую log4j 2.0-rc1, StructuredDataMessage и EventLogger для выполнения динамического ведения журнала.log4j2: TimeBasedTriggeringPolicy не запускает переполнение файла
Ниже конфигурации log4j2.xml предназначены для:
- лог-файлы вращаются на почасовой основе или после файла достигает 64 МБ (все, что приходит первым)
архив журналов, которые не удовлетворяют шаблону файла
<Routing name="Routing"> <Routes pattern="$${sd:type}"> <Route> <RollingFile name="RollingFile-${sd:type}" fileName="${log.path}/${date:yyyyMMdd}/${date:yyyyMMddHH}-${sd:type}-${hostName}.log" filePattern="${log.path}/%d{yyyyMMdd}/%d{yyyyMMddHH}-${sd:type}-${hostName}.%i.log.gz"> <PatternLayout> <!-- %K{v} stands for the message passed in StructuredDataMessage map with key "v" --> <!-- %n stands for new line --> <Pattern>%K{v}%n</Pattern> </PatternLayout> <Policies> <TimeBasedTriggeringPolicy interval="1"/> <SizeBasedTriggeringPolicy size="64 MB"/> </Policies> <DefaultRolloverStrategy max="999"/> </RollingFile> </Route> </Routes> </Routing>
<Root level="warn"> <AppenderRef ref="STDOUT"/> </Root>
Есть два вопроса:
регистрация выполняется на "старых" файлов журнала несколько минут после того, как новый час триггеры:
Фев 19 20:13 2014021919-planoperator-mdmlocal.mobidia.com.log
Feb 19 20:13 2014021919-planprogress-mdmlocal .mobidia.com.log
Feb 19 20:13 2014021919-planstats-mdmlocal.mobidia.com.log
Feb 19 20:08 2014021919-сим-mdmlocal.mobidia.com.logкогда JVM является перезапущен, log4j оставляет «старые» файлы не архивированными
19 фев 20:13 2014021919-planstats-mdmlocal.m obidia.com.log
19 февраля 20:29 2014021920-planstats-mdmlocal.mobidia.com.log
Remko. Я создал две проблемы Jira: https://issues.apache.org/jira/browse/LOG4J2-550 и https://issues.apache.org/jira/browse/LOG4J2-551 –