Log4j2 无法读取 RollingFile Appender 的 filePattern 中的日期。当我添加 TimeBasedTriggeringPolicy 并重新配置我的配置文件时,我收到此错误:
“错误无法将字段注入到插件类型类 org.apache.logging.log4j.core.appender.RollingFileAppender、元素 RollingFile 的构建器类中。java.lang.IllegalStateException:模式不包含日期”
我在 log4j2 代码中放置了一个断点,发现原因是频率变量是PatternProcessor object is null. 我不知道为什么这是 null 或如何将其设置为 null 以外的其他值。
如果我注释掉TimeBasedTriggeringPolicy,附加程序开始工作并将日志写入我的文件。
以下是我的 POM 中的 log4j 依赖项:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.7</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这是我的 log4j2.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="30" status="DEBUG">
<Properties>
<Property name="baseDir">/logs/oracle/domains/cim</Property>
</Properties>
<Appenders>
<Console name="Console" …Run Code Online (Sandbox Code Playgroud)