首页 文章

对于未注册的 Logger ,通过JMX在log4j2中指定 Logger 级别

提问于
浏览
0

我使用JMX客户端以编程方式更改log4j中的 Logger 级别 . 它工作正常,但如何为未注册(在log4j2.xml中未指定) Logger 指定 Logger 级别?

例如,我有以下 Logger 块:

<Loggers>
        <Root level="WARN">
            <AppenderRef ref="async"/>
        </Root>
        <Logger name="com.example" level="INFO" />
        <Logger name="com.example.java" level="INFO" />
</Loggers>

我有“com.example”和“com.example.java” Logger 可以通过JMX使用 . 但是如果我需要为“com.example.java.Runner”或“com.example.groovy”指定 Logger 级别呢?

2 回答

  • 0

    您是否尝试过远程编辑Log4j配置,如客户端GUI部分here中所述?

    单击“使用下面的XML重新配置”按钮将配置文本发送到远程应用程序,在远程应用程序中,它将用于动态重新配置Log4j . 这不会覆盖任何配置文件 . 使用编辑器中的文本重新配置仅在内存中进行,并且文本不会永久存储在任何位置 .

  • 0

    目前(版本2.1)这是不可能的 . JMX仅用于配置配置中的 Logger .

    没有JMX,你可以做一些像这里提到的:Programmatically change log level in Log4j2

    但这也适用于在配置中命名的 Logger ......

相关问题