我在我的应用程序中使用Log4J v2.0 Beta3进行日志记录,并且在运行单元测试时收到日志消息。我检查了API以某种方式将日志级别设置为CRITICAL,但我找不到任何方法来更改记录器配置。
事实上,我在log4j2网站上看到了这个:
请注意,与Log4j 1.x不同,公共Log4j 2 API不会公开 添加,修改或删除appender和过滤器或操作的方法 任何方式的配置。
就这样说。在单元测试中禁用日志记录的正确方法是什么?
答案 0 :(得分:21)
我在log4j2网站的“Testing in Maven”下找到了答案。推荐的方法似乎是将log4j2-test.xml文件放在src / test / resources中。将xml文件放入此目录将导致使用它而不是log4j2.xml。
答案 1 :(得分:1)
您可以通过将根级别设置为关闭(<Root level="off"/>
)来禁用日志记录。
因此将log4j2.xml文件放入src / test / resources中,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<Configuration status="warn">
<Loggers>
<Root level="off"/>
</Loggers>
</Configuration>
答案 2 :(得分:0)