0
Log4j找到我的配置,因爲只要我刪除它,我收到一條錯誤消息,說它找不到一個,但它的屬性沒有反映在日誌記錄。Log4j2 - 配置被發現,但無法正常工作
log4j2.properties:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="TRACE">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
Test.java:
public class Test {
private static Logger logger = LogManager.getLogger(Test.class);
public static void main(String[] args) throws Exception {
logger.info("test");
logger.fatal(logger.getLevel());
}
}
輸出:
20:19:31.848 [main] FATAL io.rj93.sarcasm.examples.CnnSentenceClassificationExample - ERROR
正如你所看到的,記錄器返回的水平是錯誤的時候它被設置爲INFO,時間格式包括毫秒,即使它已被刪除。
配置文件從log4j的網站採取的,只有輕微的變化(中提到的兩個,status="TRACE"
)
我使用2.8.1版。
我在詢問之前曾嘗試過,但它拋出並出錯,所以只是認爲它是錯誤的。剛剛意識到它在文件頂部有一個空行。謝謝 – rj93
不客氣。 Log4J 2忽略了'log4j2.properties'文件的不良內容,真是可惜。這是誤導。 – davidxxx