/ / log4j2のcontextNameを設定するにはMbean - java、jmx、log4j2

log4j2のcontextNameを設定する方法Mbean - java、jmx、log4j2

jvisualvmを使ってlog4j2 Mbeanにアクセスしている間、私はlog4j2パッケージ内のtype(contextName)が数字であることを確認してください(私にとっては1482868390です)。これは、クエリでObjectを指定している間は「type」として表示されるので、私が好みのもっとわかりやすい名前に指定したいと思います。 XML設定でcontextNameを設定する方法はありますか。 私はWebアプリケーションのためにそれをする方法があると思いますが、私はこれをスタンドアロンのJavaアプリケーションのために設定したいと思います。

回答:

回答№1は0

はい、これは可能ですが、設定はできません。 Log4jのContextSelectorsの1つをサブクラス化し、それをオーバーライドすることでこれを達成できます。 defaultContextName() 方法。

次に、システムプロパティでアプリケーションを起動して、Log4jにContextSelectorを使用するように指示します。 -DLog4jContextSelector=com.yourpackage.YourContextSelector.

すべてのロガーを非同期にする場合は、サブクラス化します。 AsyncLoggerContextSelector、 さもないと ClassLoaderContextSelector.