[英]How to check my Junit test is picking the log4j2-test.xml config or not?
我在我的項目中編寫了一些單元測試我想更改單元測試的日志記錄行為所以我在 src/test/resources 中創建了一個 log4j2-test.xml 但我看不到我的日志記錄行為有任何變化。 我想檢查我的測試文件是否識別此配置。 有什么辦法嗎?
這是代碼片段。
這是 log4j2-test.xml 文件的代碼
<?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 %c:%L - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error" >
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
這是示例測試代碼
@Slf4j
@Test
public void sampleTest()
{
log.info("Hello World");
log.error("Bye World")
assertEquals(1*5,5);
}
理想的行為應該是打印“Bye world”日志而不是“Hello World”日志,但我總是看到這兩個日志。 有什么方法可以檢查我的測試是否選擇了該配置?
要檢查選擇了哪種配置,有兩種方法:
-Dlog4j2.debug=true
根據 log4j2 官方文檔
應記錄到控制台的內部 Log4j 事件的級別。 此屬性的有效值為“off”、“trace”、“debug”、“info”、“warn”、“error”、“fatal”和“all”。 Log4j 會將有關初始化、翻轉和其他內部操作的詳細信息記錄到狀態記錄器中。 如果您需要對 log4j 進行故障排除,設置 status="trace" 是您可以使用的首批工具之一。
或者,設置系統屬性 log4j2.debug 也會將內部 Log4j2 日志記錄打印到控制台,包括在找到配置文件之前發生的內部日志記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.