如何设置log4j2 Mbean的contextName

时间:2016-04-08 04:12:09

标签: java jmx log4j2

使用jvisualvm访问log4j2 Mbeans时,我看到log4j2包中的类型(contextName)是一个数字(对我而言是1482868390)。因为这样做是'类型'在查询中指定Object时,我想将其指定为我更喜欢的更易识别的名称。有没有办法在xml配置中设置contextName。 我认为有一种方法可以为Web应用程序执行此操作,但我想将其设置为独立的Java应用程序。

1 个答案:

答案 0 :(得分:0)

是的,这是可能的,但不在配置中。您可以通过继承Log4j的一个ContextSelectors并覆盖其defaultContextName()方法来实现此目的。

然后通过使用系统属性-DLog4jContextSelector=com.yourpackage.YourContextSelector启动应用程序,告诉Log4j使用ContextSelector。

如果您要使所有记录器异步,您希望继承AsyncLoggerContextSelector,否则ClassLoaderContextSelector