第15章 Data Grid Server ロギングの設定
Data Grid Server は Apache Log4j 2 を使用して、トラブルシューティング目的および根本原因分析用に環境およびレコードキャッシュ操作の詳細を把握する設定可能なロギングメカニズムを提供します。
15.1. Data Grid Server のログファイル
Data Grid は、サーバーログを $RHDG_HOME/server/log
ディレクトリー内の以下のファイルに書き込みます。
server.log
-
サーバーの起動に関連する起動ログなど、人間が判読できる形式のメッセージ。
Data Grid は、サーバーの起動時にこのファイルを作成します。 server.log.json
-
Data Grid ログを解析および分析できる JSON 形式のメッセージ。
JSON-FILE
アペンダーを有効にすると、Data Grid はこのファイルを作成します。
15.1.1. Data Grid Server ログの設定
Data Grid は Apache Log4j テクノロジーを使用して、サーバーログメッセージを書き込みます。サーバーログを log4j2.xml
ファイルで設定できます。
手順
-
任意のテキストエディターで
$RHDG_HOME/server/conf/log4j2.xml
を開きます。 - 必要に応じてサーバーロギングを変更します。
-
log4j2.xml
を保存し、閉じます。
関連情報
15.1.2. ログレベル
ログレベルは、メッセージの性質と重大度を示します。
Log level | 説明 |
---|---|
| 粒度の細かいデバッグメッセージ。アプリケーションを介して個々のリクエストのフローをキャプチャーします。 |
| 個々のリクエストと関連性のない、一般的なデバッグのメッセージ。 |
| ライフサイクルイベントを含む、アプリケーションの全体的な進捗状況に関するメッセージ。 |
| エラーやパフォーマンスの低下につながる可能性のあるイベント。 |
| 操作またはアクティビティーの正常な実行を妨げる可能性がありますが、アプリケーションの実行は妨げないエラー状態。 |
| 重大なサービス障害やアプリケーションのシャットダウンを引き起こす可能性のあるイベント。 |
上記の個々のメッセージのレベルに加えて、この設定では、ALL
(すべてのメッセージを含む) と OFF
(すべてのメッセージを除外) のさらに 2 つの値を可能にします。
15.1.3. Data Grid のロギングカテゴリー
Data Grid は、機能領域ごとにログを整理する INFO
、WARN
、ERROR
、FATAL
のレベルのメッセージのカテゴリーを提供します。
org.infinispan.CLUSTER
- 状態遷移操作、イベントのリバランス、パーティション設定などが含まれる Data Grid クラスタリング固有のメッセージ。
org.infinispan.CONFIG
- Data Grid 設定固有のメッセージ
org.infinispan.CONTAINER
- 有効期限とエビクション操作、キャッシュリスナーの通知、トランザクションなどを含むデータコンテナーに固有のメッセージ。
org.infinispan.PERSISTENCE
- キャッシュローダーとストアに固有のメッセージ。
org.infinispan.SECURITY
- Data Grid のセキュリティーに固有のメッセージ。
org.infinispan.SERVER
- Data Grid Server に固有のメッセージ。
org.infinispan.XSITE
- クロスサイトレプリケーション操作に固有のメッセージ。
15.1.4. ログアペンダー
ログアペンダーは、Data Grid Server がログメッセージを記録する方法を定義します。
- CONSOLE
-
ログメッセージをホストの標準出力 (
stdout
) または標準エラー (stderr
) ストリームに書き込みます。
デフォルトでorg.apache.logging.log4j.core.appender.ConsoleAppender
クラスを使用します。 - FILE
-
ファイルにログメッセージを書き込みます。
デフォルトでorg.apache.logging.log4j.core.appender.RollingFileAppender
クラスを使用します。 - JSON-FILE
-
ログメッセージを JSON 形式でファイルに書き込みます。
デフォルトでorg.apache.logging.log4j.core.appender.RollingFileAppender
クラスを使用します。
15.1.5. ログパターンフォーマッター
CONSOLE
および FILE
アペンダーは、PatternLayout
を使用して、pattern に従ってログメッセージをフォーマットします。
以下は、FILE アペンダーのデフォルトのパターンになります。%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p (%t) [%c{1}] %m%throwable%n
-
%d{yyyy-MM-dd HH:mm:ss,SSS}
は現在の日時を追加します。 -
%-5p
は、ログレベルを右揃えで指定します。 -
%t
は、現在のスレッドの名前を追加します。 -
%c{1}
はロギングカテゴリーの短縮名を追加します。 -
%m
はログメッセージを追加します。 -
%throwable
は例外スタックトレースを追加します。 -
%n
は改行を追加します。
パターンについては、PatternLayout
ドキュメント で詳細に説明しています。
15.1.6. JSON ログハンドラーの有効化
Data Grid Server は、JSON 形式でメッセージを書き込むログハンドラーを提供します。
前提条件
-
Data Grid Server が実行されている場合は停止します。
ログハンドラーは動的に有効にすることはできません。
手順
-
任意のテキストエディターで
$RHDG_HOME/server/conf/log4j2.xml
を開きます。 JSON-FILE
アペンダーのコメントを解除して、FILE
アペンダーをコメントアウトします。<!--<AppenderRef ref="FILE"/>--> <AppenderRef ref="JSON-FILE"/>
- 必要に応じて、JSON アペンダーと JSON レイアウトを設定します。
-
log4j2.xml
を保存し、閉じます。
Data Grid を開始すると、各ログメッセージを JSON マップとして $RHDG_HOME/server/log/server.log.json
ファイルに書き込みます。