log4jに対してすべてのロギングを行う既存のアプリケーションがあります。log4jを使用するか、Commons Loggingに対してログを記録する他の多くのライブラリを使用します。これにより、環境の内部でlog4jが使用されることになります。依存関係の1つは、slf4jに対してもログを記録します。これは、最終的にはlog4jにも委任されるため、正常に機能します。
ここで、キャッシュのニーズに応じて、このアプリケーションにehcacheを追加したいと思います。以前のバージョンのehcacheはcommons-loggingを使用していましたが、これはこのシナリオでは完全に機能していましたが、バージョン1.6-beta1では、commons-loggingへの依存関係が削除され、代わりにjava.util.loggingに置き換えられました。
java.util.loggingで利用できる組み込みのJDKロギングにあまり詳しくないので、JULに送信されたログメッセージをlog4jに対してログに記録する簡単な方法があるので、既存の構成を使用して、今後のロギング用にセットアップできます。 ehcacheから?
JULのjavadocsを見ると、LogManager
使用する実装を変更するために一連の環境変数を設定し、おそらくそれを使用してlog4jをLogger
JULLogger
クラスでラップできるようです。これは正しいアプローチですか?
皮肉なことに、ライブラリで組み込みのJDKロギングを使用すると、世界の他の地域(ほとんど)が代わりにサードパーティのライブラリを使用している場合に、このような頭痛の種が発生します。