Log4j2 createOnDemand=»true» не позволяет создавать новый файл на ежедневной основе

#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

Обновление решило мою проблему.