#java #log4j2 #java.util.logging
#java #log4j2 #java.util.logging
Вопрос:
Log4j2 createOnDemand=»true» не позволяет создавать новый файл на ежедневной основе, несмотря на использование RollingFile Appenders с TimeBasedTriggeringPolicy.
Ниже мой log4j2.xml файл. У меня есть два приложения, одно для всех журналов, другое для пользовательских целей, которые необходимо генерировать только по требованию, но createOnDemand переопределяет постоянный характер журнала и не позволяет создавать новый файл журнала для пользовательского журнала.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<RollingFile name="App"
fileName="app.log"
filePattern="app.%d{yyyy-MM-dd}.log">
<PatternLayout pattern="[%t] %d{yyyy-MM-dd HH:mm:ss,SSS zzz} %-5p %l - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
</RollingFile>
<RollingFile name="custom"
fileName="appCustom.log"
filePattern="appCustom.%d{yyyy-MM-dd-HH-mm}.log"
createOnDemand="true">
<PatternLayout pattern="[%t] %d{yyyy-MM-dd HH:mm:ss,SSS zzz} %-5p %l - %m%n" />
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="AppLogger" level="info" additivity="false">
<AppenderRef ref="App"/>
</Logger>
<Logger name="customLogger" level="info" additivity="false">
<AppenderRef ref="custom"/>
</Logger>
<Root level="info">
<AppenderRef ref="file" />
</Root>
</Loggers>
</Configuration>
Ответ №1:
Я нашел исправление вышеуказанной проблемы. Это была существующая ошибка в lo4j2, которая исправлена в версии — 2.13.1
Ниже приведены ссылки :
https://issues.apache.org/jira/browse/LOG4J2-2759
https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.3
Я использовал 2.11.0
Обновление решило мою проблему.