在 log4j2 文档log4j2 java 配置中,默认配置是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
这将为控制台生成级别 ERROR 或 FATAL 的日志记录。我的默认日志记录以相同的方式工作。我遇到的问题是当我这样做时:
<logger name="com.foo.Bar" level="TRACE"/>
<Root level="ERROR">
<AppenderRef ref="STDOUT">
</Root>
根据文档log4j2 java configuration,这将
消除除 com.foo.Bar 之外的所有内容的所有 TRACE 输出。
另一方面,我的实现就像
<logger name="com.foo.Bar" level="TRACE"/>
甚至不在那里。它仍然只会打印出错误日志。
问题
- 有没有其他人遇到过这个问题?
- 任何人都可以复制它吗?
- 有谁知道如何修理它?我几乎会给某人一美元。不过,我肯定会满足于将他们的答案标记为绿色。
以下是有关我的设置的一些信息:
Maven 依赖项
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-beta9</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-beta9</version>
</dependency>
<dependency>
其他
我正在适当的课程中对此进行测试。我正在运行一个 JUnit 测试文件。我使用了 src/main .xml 文件和 src/test .xml 文件。两者最终得到相同的结果。
最终目标
我的最终目标是让特定的记录器发送 SMTP 请求。我很确定我知道该怎么做,我只是在努力解决这个小问题