Log4j2を使用して作成された新しいアプリケーションがあり、その新機能のいくつかを利用しています。使用するライブラリの1つは少し古く、log4j1.xで構築されています。アプリケーションの新しいコードがログに書き込むのに、古いライブラリのコードがログに書き込まないという問題があります。古いライブラリの何かのサブクラスであり、古いライブラリのコードによっても呼び出されるクラスが1つありますが、このコードもログに書き込まれません。 log4j2バージョン2.0.2を使用するようにアプリケーションを構成し、古いライブラリをmaven依存関係として参照するときにlog4jを明示的に除外しました。
古いライブラリのコードを新しいコードと同じファイルにログインさせるにはどうすればよいですか?
古いライブラリを書き直すことは、最後の手段と考える必要があります
Log4j2にlog4j-1.2のブリッジが含まれていることをご存知ですか?古いlog4j-1.2.17.jarを削除して使用し、次の3つのjarを含めることができます。
これにより、アプリケーションがlog4-1.2 APIに対して行うすべての呼び出しがlog4j2実装にルーティングされます。 FAQには 図 があり、物事を明確にすることができます(クラスパスから古いlog4j-1.2 jarを削除することを忘れないでください!)