5

Hibernate を使用しているスタンドアロンの Java アプリケーションを作成しています。Maven がjboss-loggingライブラリを持ってきてくれました。私はJBossを使用していません。問題は、このライブラリのみでログを記録できますか、それとも のようなログ実装をダウンロードする必要があるかということlog4jです。

4

3 に答える 3

8

JBoss Logging は単なるロギング ファサードです。ハンドラーの使用/追加など、ロガーを設定するには、JBoss Log Manager、JUL ログ マネージャー、logback、または log4j などのログ マネージャーが必要です。

JBoss Logging は、どのログ マネージャーが使用されているかを検出しようとします。org.jboss.logging.providerシステム プロパティで使用するログ マネージャーを指定できます。「org.jboss.logging.provider」に許可される値は次のとおりです。

  • jboss - JBoss Log Manager 用
  • jdk - JUL ログマネージャー用
  • log4j - log4j ログ マネージャー用
  • slf4j - slf4j を使用したログバック用

Hibernate は、その i18n 機能、vararg ロギング メソッド、およびログ マネージャーに結び付けられない機能のために JBoss Logging を使用します。

もちろん、プロジェクトで JBoss Logging を完全に使用できます。ログ ハンドラーを構成する場合は、ログ マネージャーも使用する必要があります。

于 2012-09-17T18:54:14.390 に答える
1

jboss-loggingクラスパスにロガーの実装があることを確認し、必要に応じてシステム プロパティorg.jboss.logging.providerlog4jjdkslf4jまたはに設定します。jboss理論的には、自動検出も機能する可能性があります。

https://github.com/jboss-logging/jboss-logging/blob/master/src/main/java/org/jboss/logging/LoggerProviders.java#L29

于 2012-09-17T10:41:05.717 に答える
1

私の知る限り、jboss-logging は、通常のログ API の上にある追加のレイヤーであり、i18n などのより洗練された機能を提供します。

JBoss-logging は、ログの基本ハンドラーとして他のロギング ライブラリ (SLF4J など) を使用できます。

単純なスタンドアロンの Java アプリを作成している場合は、JBoss ロギングを使用する必要はないと思います (本当に必要であることがわかっている場合を除きます)。

SLF4J (LogBack または Log4J バインディングを使用) を使用することをお勧めします。詳細については、 http://slf4j.orgをご覧ください。

于 2012-09-17T09:39:00.643 に答える