第5章 開発者のためのロギング
5.1. はじめに
5.1.1. ロギング
ロギングとはアクティビティーの記録 (ログ) を提供するアプリケーションからのメッセージを記録することです。
ログメッセージは、アプリケーションをデバッグする開発者や実稼働環境のアプリケーションを維持するシステム管理者に対して重要な情報を提供します。
Java の最新のロギングフレームワークのほとんどには、正確な時刻やメッセージの発信元などの他の詳細も含まれています。
5.1.2. JBoss LogManager でサポートされるアプリケーションロギングフレームワーク
JBoss LogManager は次のロギングフレームワークをサポートします。
- JBoss Logging - JBoss EAP 6 に含まれます
- Apache Commons Logging - http://commons.apache.org/logging/
- Simple Logging Facade for Java (SLF4J) - http://www.slf4j.org/
- Apache Log4j - http://logging.apache.org/log4j/1.2/
- Java SE Logging (java.util.logging) - http://download.oracle.com/javase/6/docs/api/java/util/logging/package-summary.html
JBoss LogManager では以下の API がサポートされます。
- java.util.logging
- JBoss Logging
- Log4j
- SLF4J
- commons-logging
JBoss LogManager では以下の SPI もサポートされます。
- java.util.logging Handler
- Log4j Appender
注記
Log4j API
と Log4J Appender
を使用している場合、オブジェクトは渡される前に string
に変換されます。
5.1.3. ログレベル
ログレベルは、ログメッセージの性質と重大度を示す列挙値の順序付きセットです。特定のログメッセージのレベルは、開発者が選択したログフレームワークの適切なメソッドを使用してメッセージを送信することで指定されます。
JBoss EAP 6 は、サポートされるアプリケーションロギングフレームワークによって使用されるすべてのログレベルをサポートします。最も一般的に使用される 6 つのログレベルは (低いものから高いものの順に):
TRACE
、DEBUG
、INFO
、WARN
、ERROR
、FATAL
です。
ログレベルはログカテゴリーとログハンドラーによって使用され、それらが担当するメッセージを限定します。各ログレベルには、他のログレベルに対して相対的な順番を示す数値が割り当てられています。ログカテゴリーとハンドラーにはログレベルが割り当てられ、そのレベル以上のログメッセージのみを処理します。たとえば、
WARN
レベルのログハンドラーは、WARN
、ERROR
、および FATAL
のレベルのメッセージのみを記録します。
5.1.4. サポート対象のログレベル
ログのレベル | Value | 説明 |
---|---|---|
FINEST | 300 |
-
|
FINER | 400 |
-
|
TRACE | 400 |
アプリケーションの実行状態に関する詳細情報を提供するメッセージに使用します。
TRACE のログメッセージは通常、アプリケーションのデバッグ時にのみキャプチャされます。
|
DEBUG | 500 |
アプリケーションの個々の要求またはアクティビティーの進行状況を示すメッセージに使用します。
DEBUG のログメッセージは通常、アプリケーションのデバッグ時にのみキャプチャされます。
|
FINE | 500 |
-
|
CONFIG | 700 |
-
|
INFO | 800 |
アプリケーションの全体的な進行状況を示すメッセージに使用します。多くの場合、アプリケーションの起動、シャットダウン、およびその他の主要なライフサイクルイベントに使用されます。
|
WARN | 900 |
エラーではないが理想的とは見なされない状況を示すために使用します。将来エラーにつながる可能性のある状況を示している可能性があります。
|
警告 | 900 |
-
|
ERROR | 1000 |
発生したエラーの中で、現在の活動や要求の完了を妨げる可能性があるが、アプリケーション実行の妨げにはならないエラーを表示するために使用されます。
|
SEVERE | 1000 |
-
|
FATAL | 1100 |
クリティカルなサービス障害やアプリケーションのシャットダウンをもたらしたり、JBoss EAP 6 のシャットダウンを引き起こす可能性があるイベントを表示するのに使用されます。
|
5.1.5. デフォルトのログファイルの場所
これらは、デフォルトのログ設定用に作成されるログファイルです。デフォルトの設定では、periodic ログハンドラーを使用してサーバーログファイルが書き込まれます。
ログファイル | Description |
---|---|
EAP_HOME/standalone/log/server.log |
Server Log.サーバー起動メッセージを含む、すべてのサーバーログメッセージが含まれます。
|
EAP_HOME/standalone/log/gc.log |
ガベージコレクションログ。すべてのガベージコレクションの詳細が含まれています。
|
ログファイル | Description |
---|---|
EAP_HOME/domain/log/host-controller.log |
ホストコントローラーのブートログ。ホストコントローラーの起動に関連するログメッセージが含まれます。
|
EAP_HOME/domain/log/process-controller.log |
プロセスコントローラーのブートログ。プロセスコントローラーの起動に関連するログメッセージが含まれます。
|
EAP_HOME/domain/servers/SERVERNAME/log/server.log |
指定されたサーバーのサーバーログ。サーバーの起動メッセージを含む、そのサーバーのすべてのログメッセージが含まれます。
|