私は次のことを行っています: WebLogicからいくつかのレガシーアプリケーションをJBoss EAP 7に移植しています。他は、これらのEJBを呼び出すサーブレットアプリです。これらのEJBはejb-jarsにデプロイされています。私はこのすべてを大きなEARファイルにまとめることができることを知っていますが、それをしたくありません。サーブレットとEJB jarは、個別にデプロイ可能なコンポーネントである必要があります。JBoss EAP 7のEJB jarでのlog4j2ロギングのコード
ログ設定があります。私たちはlog4j2を使用しており、JBossのログ設定とは独立していたいと考えています。私は、適切な依存関係を持つすべてのlog4j2 jarsを含むJBossモジュールを作成し、ロギングを行います。 サーブレットは実行され、ログをとり、EJBを呼び出して動作します。
唯一の問題は、EJBのロギングを構成する方法です。サーブレットのようなWebアプリケーションでは、簡単です。web.xmlにlog4jロギング設定ファイルを指定するだけです。 ejb jarのアナログは何ですか?私は方法を考えることができませんでした。
私は以下を試みました:EJBパッケージのサーブレット・アプリケーションの構成にロガー/アペンダーを追加し、新しいファイルを指定します。それは動作しません。新しいログファイルは作成されますが、ログファイルには何も書き込まれません。出力があるはずですが、EJBが実行されているときにLogManagerがサーブレットで指定された構成を使用していないことが明らかです。
JBoss EAP7上のEJB jarにデプロイされたEJBでlog4j2設定を指定する正しい方法は何ですか?
'JndiContextSelector'はおそらく動作しますか? https://logging.apache.org/log4j/2.0/log4j-core/apidocs/org/apache/logging/log4j/core/selector/JndiContextSelector.htmlこれをハイジャックしないでください。 WildFlyでlog4j2を使用してください。https://issues.jboss.org/browse/WFCORE-482 :) –
Thanks、James。私はこれについて考えていた。それはうまくいくように思えたが、私の最初の試みは失敗した。間違いなく私は何か間違ったことをしましたが、私が少なくとも正しい道を歩いていたことを知ることは良いことです。おそらく、http://mail-archives.apache.org/mod_mbox/logging-log4j-user/201611.mbox/browserを見て、私が間違ったことを教えてください。 –
私は思う*あなたはシステムプロパティ 'Log4jContextSelector'を設定することができますhttps://logging.apache.org/log4j/2.x/manual/configuration.html。私はこれをテストしていない。 –