Log4j2 createOnDemand =“ true”不允许每天创建新文件

问题描述

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>

解决方法

我已经找到了解决上述问题的方法。 这是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

升级解决了我的问题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...