2017-12-01 11 views
-1

Log4j 2の古い.xmlファイルをしばらく前から置き換えようとしていますが、動作させることができません。Log4j 2ビルダーのオーバーライド

私の最大の問題は、パッケージ用に追加したロガーが完全に無視されていることです。

builder.add(builder.newLogger("org.reflections", Level.INFO)); 

これはデバッグが無視されますが、私は見ることができ、例えば、私のコンソールでは、このことを意味する必要があります

2017-12-01 02:16:45,523 [AWT-EventQueue-0] DEBUG org.reflections.Reflections - could not scan file 

これは私が私を導くのいずれかを作成しましたPatternLayoutは従っていません何とかLog4j 2がReflectionのロガーによって無視されていると考えています。

奇妙なことは、私はの.xmlファイルで行ったように、私はビルダーAPIにまったく同じことをやっているということです...

誰もが、私はこの問題を解決する方法の手掛かりを得ましたか。

+0

ここに提供されている情報が実際には十分ではないことは確かですが、それはいくつかの理由があります。 [最小限の、完全で検証可能な例]を提供してください(http://stackoverflow.com/help/mcve) –

答えて

0

私はそれを把握することができたので、数時間後に私はそれを把握しました。 それで問題は2つの部分でした。

  1. 私はlog4j2、log4jのためslfj4のbidningを使用し、依存関係をしていなかったので、私はそれを除外し、SLF4Jのためlog4j2s実装に置き換え、彼らは今、適切な場所に行っていたので、それが妙にフォーマットされたログを解決しました。 私はlog4jからlog4j2への橋渡しを私がまだ分かっていない依存関係として持っているので、それが最初からうまくいかなかったのはなぜですか。
  2. 2番目の問題は、私のカスタムConfigurationFactoryがlog4j2のカスタムアペンダーの検索をランダムに停止することでした。グーグルで私が最後に見つけたのはTHISで、ステップ3でappenderがlog4j2.xmlに保存されたパッケージが追加されました。ですから、これを念頭に置いて、log4j2sビルダーにsetPackages()というメソッドがあることがわかりました。そして今、それは一貫して働いているようです。
関連する問題