【问题标题】:Log4j2 JMX custom registerLog4j2 JMX 自定义寄存器
【发布时间】:2014-04-10 15:03:45
【问题描述】:

我想在我自己的 MBeanServer 上注册 Log4j2 记录器。但是当我打电话时

Server.reregisterMBeansAfterReconfigure()    

方法,仅注册了属性文件中的记录器配置和附加程序。 但我想在 Log4j 中使用 HierarchyDynamicMBean 之后得到结果。

有人遇到过这个问题吗?

谢谢, 尼基塔·科瓦尔

【问题讨论】:

    标签: java jmx log4j2 mbeans


    【解决方案1】:

    如果您调用Server.reregisterMBeansAfterReconfigure(MBeanServer),MBeans 将在指定的 MBeanServer 中为以下对象注册:

    • 所有 LoggerContext 可用
    • 每个 LoggerContext 的 StatusLogger
    • 每个 LoggerContext 的 ContextSelector
    • 每个 LoggerContext 的所有 LoggerConfigs
    • 每个 LoggerContext 的所有 Appender

    您提到您只看到 LoggerConfigs 和 Appenders。这是否意味着您看不到任何 LoggerContexts、StatusLoggers 和 ContextSelectors?

    另外,您提到了 HierarchyDynamicMBean,但我不确定您想要实现什么。如果 log4j2 有一个 HierarchyDynamicMBean,你会用它做什么?你会怎么用呢?

    【讨论】:

    • 我会解释我刚才提到的。例如,我有带有static final Logger LOG = LogManager.getLogger(A.class); 的 A.java 但我只看到配置文件中提到的 Logger*,但我想即时更改 A.java 中的 Logger。 (当然,我尝试在log4j2中使用jmx包)
    猜你喜欢
    • 2015-05-28
    • 1970-01-01
    • 2020-04-03
    • 2015-09-29
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    相关资源
    最近更新 更多