Hibernate を使用しているスタンドアロンの Java アプリケーションを作成しています。Maven がjboss-logging
ライブラリを持ってきてくれました。私はJBossを使用していません。問題は、このライブラリのみでログを記録できますか、それとも のようなログ実装をダウンロードする必要があるかということlog4j
です。
3 に答える
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 を完全に使用できます。ログ ハンドラーを構成する場合は、ログ マネージャーも使用する必要があります。
jboss-logging
クラスパスにロガーの実装があることを確認し、必要に応じてシステム プロパティorg.jboss.logging.provider
をlog4j
、jdk
、slf4j
またはに設定します。jboss
理論的には、自動検出も機能する可能性があります。
私の知る限り、jboss-logging は、通常のログ API の上にある追加のレイヤーであり、i18n などのより洗練された機能を提供します。
JBoss-logging は、ログの基本ハンドラーとして他のロギング ライブラリ (SLF4J など) を使用できます。
単純なスタンドアロンの Java アプリを作成している場合は、JBoss ロギングを使用する必要はないと思います (本当に必要であることがわかっている場合を除きます)。
SLF4J (LogBack または Log4J バインディングを使用) を使用することをお勧めします。詳細については、 http://slf4j.orgをご覧ください。