第19章 ロギング
AMQ Broker は JBoss Logging フレームワークを使用してロギングを実行し、BROKER_INSTANCE_DIR/etc/logging.properties
設定ファイルで設定できます。この設定ファイルはキーと値のペアの一覧です。
以下に示すように、logging.properties
設定ファイルの ロガー
キーに追加して、ブローカー設定でロガーを指定します。
loggers=org.eclipse.jetty,org.jboss.logging,org.apache.activemq.artemis.core.server,org.apache.activemq.artemis.utils,org.apache.activemq.artemis.journal,org.apache.activemq.artemis.jms.server,org.apache.activemq.artemis.integration.bootstrap,org.apache.activemq.audit.base,org.apache.activemq.audit.message,org.apache.activemq.audit.resource
AMQ Broker で利用可能なロガーを以下の表に示します。
ロガー | 説明 |
---|---|
org.jboss.logging | ルートロガー。他のブローカーロガーによって処理されない呼び出しをログに記録します。 |
org.apache.activemq.artemis.core.server | ブローカーコアをログに記録します。 |
org.apache.activemq.artemis.utils | ユーティリティー呼び出しのログ |
org.apache.activemq.artemis.journal | Journal 呼び出しのログ |
org.apache.activemq.artemis.jms | JMS 呼び出しをログに記録します。 |
org.apache.activemq.artemis.integration.bootstrap | ブートストラップ呼び出しのログ |
org.apache.activemq.audit.base | すべての JMX オブジェクトメソッドへのアクセスをログに記録します。 |
org.apache.activemq.audit.message | 実稼働、消費消費、メッセージのブラウジングなどのメッセージ操作をロギングします。 |
org.apache.activemq.audit.resource | JMX または AMQ Broker 管理コンソールからの認証イベント、作成または削除、および管理コンソールでのメッセージの参照をログに記録します。 |
また、以下のように logger.handlers
キーに設定されたデフォルトのロギングハンドラーが 2 つあります。
logger.handlers=FILE,CONSOLE
logger.handlers=FILE
- ロガーはログエントリーをファイルに出力します。
logger.handlers=CONSOLE
- ロガーはログエントリーを AMQ Broker 管理コンソールに出力します。
19.1. ログレベルを変更する
すべてのロガーのデフォルトのロギングレベルは INFO
で、以下のようにルートロガーで設定されます。
logger.level=INFO
以下に示すように、他のすべてのロガーのログレベルを個別に設定できます。
logger.org.apache.activemq.artemis.core.server.level=INFO logger.org.apache.activemq.artemis.journal.level=INFO logger.org.apache.activemq.artemis.utils.level=INFO logger.org.apache.activemq.artemis.jms.level=INFO logger.org.apache.activemq.artemis.integration.bootstrap.level=INFO logger.org.apache.activemq.audit.base.level=INFO logger.org.apache.activemq.audit.message.level=INFO logger.org.apache.activemq.audit.resource.level=INFO
利用可能なロギングレベルは、以下の表で説明されています。ロギングレベルは、最低詳細から順に昇順に一覧表示されます。
レベル | 説明 |
---|---|
FATAL | 重要なサービス障害を示すイベントには、FATAL ロギングレベルを使用します。サービスが FATAL エラーを発行すると、あらゆる種類の要求を実行できません。 |
ERROR | リクエストが中断されたことを示すイベントまたはリクエストを処理する機能を示す ERROR ロギングレベルを使用します。このエラーの発生時に要求の処理を続行するには、サービスの ある程度の 容量が必要です。 |
WARN | 重要でないサービスエラーを示す可能性のあるイベントの WARN ロギングレベルを使用します。再開可能なエラー、またはリクエスト内のマイナーな違反がこの説明を満たすことが期待されます。WARN と ERROR の違いは、アプリケーション開発者にとっての 1 つです。これを区別するための簡単な条件として、エラーがテクニカルサポートをシークする必要が生じるかどうかが挙げられます。エラーがテクニカルサポートを必要とする場合は、ロギングレベルを ERROR に設定します。それ以外の場合は、レベルを WARN に設定します。 |
INFO | サービスのライフサイクルイベントおよびその他の重要な関連情報には INFO ロギングレベルを使用します。特定のサービスカテゴリーの INFO レベルメッセージは、サービスの状態を明確に示す必要があります。 |
DEBUG | ライフサイクルイベントに関する追加情報を伝えるログメッセージには DEBUG ロギングレベルを使用します。開発者向けの情報や技術サポートに必要な詳細情報については、このログレベルを使用します。DEBUG ロギングレベルを有効にすると、サーバー要求の数と比例して JBoss サーバーのログが増加 しないはず です。所定のサービスカテゴリーの DEBUG および INFO レベルのメッセージは、サービスがどの状態にあるか、ポート、インターフェイス、ログファイルなど、どのブローカーリソースを使用しているかを明確に示する必要があります。 |
TRACE |
リクエストアクティビティーに直接関連するログメッセージに TRACE ロギングレベルを使用します。このようなメッセージは、ロガーカテゴリーの優先度のしきい値でメッセージがレンダリングされることを示す場合を除き、ロガーに送信しないでください。 |
-
INFO
は、logger.org.apache.activemq.audit.base
、logger.org.apache.activemq.audit.message
、およびlogger.org.apache.activemq.audit.resource
監査ロガーの唯一の利用可能なロギングレベルです。 -
ルートロガーに指定されたロギングレベルは、他のロガーにより詳細なログレベルが指定されている場合でも、すべて のロガーに対して最も詳細なログレベルを決定します。たとえば、
org.apache.activemq.artemis.utils
にDEBUG
の指定されたロギングがあり、ルートロガーのorg.jboss.logging
のロギングレベルがWARN
であるとします。この場合、両方のロガーはログレベルWARN
を使用します。