3

同僚が機能する開発環境を取得するには追加の手順が必要になるため、standalone.xmlまたはCLIを使用してロギングを構成したくありません。これらの構成ファイルをソースコードでチェックインし、展開時に自動的に適用したいと思います。

JBoss 5では、jboss-log4j.xmlでロギングを宣言する可能性がありました。JBoss 7にもこのファイルに相当するものはありますか?

slf4jとlogbackを使用したいと思います。

4

2 に答える 2

6

JBoss ロギングではなく独自のロギングを使用する場合は、独自のロギングで必要なアプリケーションごとにいくつかの手順を実行する必要があります。

JBoss ロギングを除外する

jboss-deployment-structure.xml ファイルを記述して、jboss log4j または slf4j、または JBoss に含まれるその他のロギング モジュールを除外します。

WAR の例... WAR/WEB-INF/ の場所

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </deployment>
</jboss-deployment-structure>

独自の jar を含める

独自のjarファイルをlibフォルダーに配置するだけです

WAR の場合、WAR/WEB-INF/lib に配置します。

ロギング構成を含める

通常のように独自の構成ファイルを含めるだけです

WAR の場合、WAR/WEB-INF/classes に配置します。

-D フラグを指定して JBoss を起動します

以下を使用してサーバーを実行します。

$ ./standalone.sh -Dorg.jboss.as.logging.per-deployment=false

EAR の例

Place jboss-deployment-structure.xml in EAR/META-INF

<jboss-deployment-structure>
    <sub-deployment name="myWar.war>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
    <sub-deployment name="myWar2.war>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
    <sub-deployment name="myEjb.jar>
        <exclusions>
            <module name="org.slf4j"/>
        </exclusions>
    </sub-deployment>
</jboss-deployment-structure>

EAR/lib、JARS を含めます

configuration/properties各展開で、その展開の を追加します

サーバーを起動します。$./standalone.sh -Dorg.jboss.as.logging.per-deployment=false

これにより、JAR の JBoss バージョンが独自のものと交換され、独自の JAR と構成ファイルを取得できるようになります。ご不明な点がございましたら、お知らせください。

于 2013-02-17T15:23:11.110 に答える
3

アプリケーションに logback 構成を追加できます。アプリケーションに logback を含める必要があります。モジュールを除外するには、 log4j 除外と同様のjboss-deployment-structure.xmlを使用する必要がある場合があります。ただし、これはアプリケーションのロギングのみを構成します。org.slf4j

ロギング サブシステムを構成することだけが問題である場合は、環境に応じて機能する可能性がある他のいくつかの可能性があります。

どの環境でも機能する最初の方法は、チェックインして実行できるCLI スクリプトを作成することです。

${JBOSS_HOME}/bin/jboss-cli.sh --connect --file path/to/script.cli

Maven を使用している場合、2 番目の可能性はmaven pluginを使用することです。プラグインを使用してCLI コマンドを実行できます。execute-commandsdeploy ゴールが実行される前に実行するゴールを追加するだけです。

于 2013-02-15T16:15:15.067 に答える