Log4j2 配置中的“状态”是什么意思?

问题描述 投票:0回答:1

我刚刚完成

log4j2.xml
配置文件的调整,发现了一些我不太明白的东西。 那么
<Configuration status="SOME_STATUS_HERE">
是什么?

几乎在所有示例中: http://logging.apache.org/log4j/2.x/manual/configuration.html 来自 Apache 的人们将

status
添加到
Configuration

例如,这是第一个:

<?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>
java logging configuration log4j log4j2
1个回答
124
投票

status
记录器由 log4j2 组件内部使用。在配置中设置
status="debug"
(或
trace
)将导致此内部日志记录输出到命令行。

它将打印有关加载哪些 log4j2 插件组件的调试信息(所有配置元素都映射到 log4j2 插件),以及更多详细信息,例如找到了哪些附加程序和记录器、它们具有哪些参数以及它们如何组合。

这对于解决配置问题很有用。

从 Log4j 2.9 开始,您甚至可以在加载配置文件之前使用系统属性

log4j2.debug
(无需值)来打开内部 Log4j2 状态日志记录。在2.9版本之前,可以通过系统属性实现同样的效果
 -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=TRACE

© www.soinside.com 2019 - 2024. All rights reserved.