1

私の Web アプリケーションでは、独自の log4j.xml ファイルを使用して log4j を再初期化します。

次のjboss-deployment-structure.xmlでlog4j.jarをすでに除外しました

<jboss-deployment-structure>
<deployment>
    <!-- Exclusions allow you to prevent the server from automatically adding some dependencies -->
    <exclusions>
        <module name="org.apache.log4j" />
    </exclusions>
</deployment>

再初期化後、log4j はすべてを stdout に記録します

jboss 5 では、この JVM パラメータを使用しました

-Dorg.jboss.logging.Log4jService.catchSystemOut=false

jboss 7 では、これは機能しません。stdout にログを記録しないように log4j を構成するにはどうすればよいですか?

4

2 に答える 2

0

次の 2 つのモジュールを除外する必要がありました。

 <exclusions>
   <module name="org.apache.log4j" />
   <module name="org.jboss.log4j.logmanager" />
 </exclusions>
于 2016-01-26T15:21:48.947 に答える
0

使用する特別なアペンダーがない場合は、おそらくアプリケーション サーバーに付属のログ構成を使用するのが最適です。管理インターフェース (Web コンソール、CLI など) からランタイムを変更できるという利点があります。

アプリケーションのロギング ファサードとして引き続き log4j を使用できますが、アプリケーション サーバーからロガーとハンドラー (アペンダー) を管理するだけです。

于 2012-11-09T16:38:16.633 に答える