第41章 ロギング

デフォルトでは、HornetQ は log4j を使用して JBoss Enterprise Application Platform 内のイベントのロギングを管理します。デフォルトのデリゲートは、すべてのログ要求を標準的な JDK ロギング (Java-Util-Logging (JUL) とも呼ばれます) に送信します。

注記

JUL の設定の詳細については、Oracle Web サイトの Java Logging Overview ページを参照してください。
HornetQ は、特定のロギングフレームワークに依存しない独自のロギングデリゲートを持ちます。
デフォルトでは、サーバーは JUL 設定を、設定ディレクトリにある logging.properties ファイルから取得します。これは、HornetQ ロギングフォーマッター (HornetQLoggerFormatter.java) を使用するよう設定され、ログファイルと同様にコンソールにもログを出力します。
プログラムを記述したり、システムプロパティーを使用したりすることにより、異なるロギングデリゲートを設定できます。
プログラムを記述してこれを行う場合は、以下のようになります。ここで、Log4jLogDelegateFactory は使用したい org.hornetq.spi.core.logging.LogDelegateFactory の実装です。
org.hornetq.core.logging.Logger.setDelegateFactory(new Log4jLogDelegateFactory())
システムプロパティーを使用してこれを行うには、プロパティー org.hornetq.logger-delegate-factory-class-name を、使用されるデリゲートファクトリーに設定します。たとえば、以下のようになります。
-Dorg.hornetq.logger-delegate-factory-class-name=org.hornetq.integration.logging.Log4jLogDelegateFactory
上記の例では、利便性のため、HornetQ は、以下のようないくつかのデリゲートファクトリーを提供します。
  1. org.hornetq.core.logging.impl.JULLogDelegateFactory - JUL を使用するデフォルト値。
  2. org.hornetq.integration.logging.Log4jLogDelegateFactory - Log4J を使用します。
クライアントのロギングが JUL デリゲートを使用するよう設定するには、logging.properties ファイルが提供され、java.util.logging.config.file プロパティーがクライアントの起動時に設定されるようにします。