6

コードを Jboss 5.1 から Jboss 7 に更新しようとしていますが、jboss-as-7.1 には独自のログ フレームワークがあることがわかりました。log4j よりも jboss 独自のロギング フレームワークを使用する場合の主な違いと利点を知りたいです。このフレームワークでアペンダーを使用する方法の例も必要です。

4

1 に答える 1

6

JBoss 7 のビルトイン ロギング モジュールはJava Util Loggingに基づいています。それを使用する主な (唯一の?) 理由は、それが既に統合されており、独自のソリューションを展開することを望むほど簡単ではないということです。JUL API を使用したくない場合は、提供されている SLF API を使用できます。

のようなインスタンス構成ファイルでアペンダーを構成できますstandalone.xml。ロギング サブシステムの構成を探します。

<profile>
    <subsystem xmlns="urn:jboss:domain:logging:1.1">

実際の構成例が付属しています。一般的に呼ばれるものは、またはのように構成でappenderタイトルが付けられていることに注意してください。*handlerconsole-handlerperiodic-rotating-file-handler

ここでは、ロギング構成に関するアドバイスを見つけることができます。

編集:いくつかの明確化。

別の言い方をすれば、選択したフレームワークよりも組み込みの jboss ロギングを使用することを好む本当の理由はありません。唯一のことは、独自のフレームワークを構成するには追加の労力が必要であり、それでも失敗する可能性があることです (私は、logback を使用するように JBoss を構成する方法を理解するのに時間を費やしましたが、最終的にあきらめました)。したがって、log4j 実装を維持する方法を説明する資格はありません :)

「ネイティブ」JUL API または SLF4J ブリッジを介して jboss ロギングを使用できます。どちらも/modulesディレクトリに含まれているため、実行時に追加のライブラリを含める必要はありません。Loggerコードで好みをリクエストするだけで、準備完了です。

SLF:LoggerFactory.getLogger(...);

7月:Logger.getLogger(...);

JUL から SLF に切り替えるために私がしなければならなかった唯一のことは、コードをコンパイルするための SLF API を提供することでした - ここに Maven の設定があります:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.6.1</version>
  <scope>provided</scope>
</dependency>
于 2012-11-12T08:36:19.503 に答える