2016-04-08 61 views
2

使用jvisualvm訪問log4j2 Mbeans時,我發現log4j2包內的類型(contextName)是一個數字(對於我來說它是1482868390)。因爲這在查詢中指定對象時以'type'形式出現,所以我想將其指定爲我更喜歡的更可識別的名稱。有沒有辦法在xml配置中設置contextName。 我認爲有一種方法可以用於Web應用程序,但我想將其設置爲獨立的Java應用程序。如何設置log4j2的contextName Mbean

回答

0

是的這是可能的,但不是在配置。您可以通過繼承Log4j的ContextSelectors之一併重寫其defaultContextName()方法來實現此目的。

然後,您通過使用系統屬性-DLog4jContextSelector=com.yourpackage.YourContextSelector啓動您的應用程序來告訴Log4j使用您的ContextSelector。

如果您將所有記錄器設置爲異步,則需要子類AsyncLoggerContextSelector,否則爲ClassLoaderContextSelector