XMLlog4j構成ファイルで定義されたアペンダーを使用してログに記録できません。
EARのMETA-INFフォルダーにjboss-deployment-structure.xmlを作成しましたが、成功しませんでした。
jboss -deployment-structure.xml構造は次のとおりです。
<jboss-deployment-structure>
<ear-subdeployments-isolated>false</ear-subdeployments-isolated>
<deployment>
<exclusions>
<module name="org.apache.log4j" slot="main"/>
</exclusions>
</deployment>
</jboss-deployment-structure>
次の行を追加して、 standalone.conf.batファイルを編集しようとしました。
set "JAVA_OPTS=%JAVA_OPTS% -Dorg.jboss.as.logging.per-deployment=false"
私のアプリケーションのデプロイは次のようになります。
-> MyAppEAR.ear
-> META-INF
-> MANIFEST.MF
-> MyAoo.war
-> META-INF
-> MANIFEST.MF
-> jboss-deployment-structure.xml
-> WEB-INF
-> web.xml
-> lib
-> log4j-1.2.17.jar
-> ---
-> classes
-> log4j.xml
-> ...
次のエラーに気づきました。
- サブデプロイメントのjboss-deployment-structure.xmlは無視されます。jboss-deployment-structure.xmlは、トップレベルのデプロイメントに対してのみ解析されます。
JBOSS7.1.0から7.1.1に移行してみました
助けてください!
ありがとう
ジェームズに感謝します。
私はあなたが言ったことを実行し、jboss-deployment-structure.xmlファイルをMyAppEAR.ear/META-INFに移動しました。
私はこのように例外に気づきました:
jboss-deployment-structure.xml in subdeployment ignored. jboss-deployment-structure.xml is only parsed for top level deployments.
...発生しません。それがファイルが解析されたことを意味するかどうかはわかりません...どうすればわかりますか?
この新しい動作にもかかわらず、log4j.xml構成ファイルはまだロードされておらず、使用されるロガーはLog4Jのものです。
私はコンソールに書いたのでこれを知っています:
System.out.println(Logger.getRootLogger().getClass().toString())
...そして得た:
class org.jboss.logmanager.log4j.BridgeLogger
私も試しました:
- log4j.xmlをMyAppEAR.ear/META-INFに移動します。
- 不要な-Dorg.jboss.as.logging.per-deployment=falseをstandalone.conf.batから削除します
- jboss-deployment-structure.xmlからスロットを削除します
他にアイデアはありますか?
ありがとう