2014-01-11 46 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

相关问题