2014-01-11 44 views
36

我剛剛完成了log4j2.xml配置文件的調整,並發現了一些我不太瞭解的東西。那麼什麼是<Configuration status="SOME_STATUS_HERE">Log4j2配置中的「狀態」是什麼意思?

幾乎在這裏的所有示例中: http://logging.apache.org/log4j/2.x/manual/configuration.html 來自Apache的人將狀態添加到配置中。

例如這裏是第一個:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="WARN"> <!--status="WARN" - what is this???--> 

<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> 

回答

41

狀態記錄器是由log4j2部件在內部使用。在配置中設置status="debug"(或「跟蹤」)將導致將此內部日誌記錄輸出到命令行。

它將打印關於加載哪個log4j2插件組件(所有配置元素都映射到log4j2插件)的調試信息,以及更多詳細信息,例如appenders和logger被發現,它們具有什麼參數以及它們是如何組合的。

這對解決配置問題很有用。

從Log4j 2.9開始,即使在加載配置文件之前,您也可以使用系統屬性log4j2.debug(無需值)打開內部Log4j2狀態日誌記錄。在版本2.9之前,使用系統屬性-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE可以實現相同的功能。

20

如果有人想知道Log4j2文檔中提到的Log4j2 XML <Configuration>元素屬性,我認爲提供鏈接here可能很有用。另請參見下面的屬性列表的快照:

Configuration element attributes

4

而且萬一有人正在尋找正確的水平狀態屬性他們是:「跟蹤」,「調試」,「信息」,「警告「,」錯誤「和」致命「。

Log4j2 Configuration

相關問題