使用jvisualvm访问log4j2 Mbeans时,我看到log4j2包中的类型(contextName)是一个数字(对我而言是1482868390)。因为这样做是'类型'在查询中指定Object时,我想将其指定为我更喜欢的更易识别的名称。有没有办法在xml配置中设置contextName。 我认为有一种方法可以为Web应用程序执行此操作,但我想将其设置为独立的Java应用程序。
答案 0 :(得分:0)
是的,这是可能的,但不在配置中。您可以通过继承Log4j的一个ContextSelectors并覆盖其defaultContextName()
方法来实现此目的。
然后通过使用系统属性-DLog4jContextSelector=com.yourpackage.YourContextSelector
启动应用程序,告诉Log4j使用ContextSelector。
如果您要使所有记录器异步,您希望继承AsyncLoggerContextSelector,否则ClassLoaderContextSelector。