Liberty での Session Initiation Protocol (SIP) バイナリー・ログおよびトレース拡張
バイナリー・ロギングでは、開発者がログ・レコードおよびトレース・レコードに拡張フィールドを追加することができ、 それに応じて、ユーザーが拡張の値でログ・レコードおよびトレース・レコードをフィルタリングすることができます。
ログ・レコードおよびトレース・レコードには、レコード作成時刻や記録されるメッセージ内容などの情報のフィールドが含まれます。 これらのフィールドは、すべてのログ・レコードおよびトレース・レコードに存在するコア・フィールドです。 それに対し、拡張フィールドは、アプリケーション開発者がログ・レコードおよびトレース・レコードに追加できるフィールドで、 特定のログおよびトレース内容を検索する際にフィルター基準として使用できます。 これらのログおよびトレース拡張は、拡張フォーマットを使用するようにテキスト出力フォーマットを構成した場合にバイナリー・ログに表示されるか、 または、拡張フォーマットで binaryLog コマンドを使用した場合に表示されます。
- 管理者
ログ・レコードおよびトレース・レコードのフィルタリングに使用できる多くの拡張を、アプリケーション・サーバーは自動的に作成します。 また、アプリケーション開発者によって追加された拡張を使用して、ログ・レコードおよびトレース・レコードをフィルタリングすることも可能です。 ログ・レコードおよびトレース・レコード拡張の内容に基づいてレコードをフィルタリングするには、binaryLog コマンド行ツールを使用することができます。詳しくは、『BinaryLog コマンド・オプション』を参照してください。
例えば、以下の binaryLog コマンドを使用して、SIP コンテナーが処理したすべての SIP アプリケーション・セッションを表示できます。binaryLog view binaryFile --includeExtension=SIPASId=* --format=advanced
- 開発者
バイナリー・ロギングを使用して、開発者は、ログ・レコード・コンテキスト API の com.ibm.websphere.logging.hpel.LogRecordContext によってログ・レコードおよびトレース・レコードにカスタム拡張を追加することができます。 バイナリー・ロギングはログ・レコードおよびトレース・レコードを格納する際、同じスレッド上のログ・レコード・コンテキスト内に存在する拡張をすべて含めます。 例えば、サーブレット・フィルターを作成して、重要な HTTP 要求のパラメーターをログ・レコード・コンテキストに追加できます。 そのサーブレットの実行中、HPEL API は同じスレッド上で作成されるどのログ・レコードおよびトレース・レコードにもそれらの拡張を追加します。
その他のログおよびトレース・レコードのフィールドと同様に、開発者は、HPEL API を使用してレコードの拡張にアクセスできます。この API は、ログ・リポジトリーおよびトレース・リポジトリーから読み取るツールを作成する場合に役立ちます。 開発者は、ログ・レコード・コンテキスト API を使用して、実行時にカスタム・ログ・ハンドラー、フィルター、およびフォーマッターで拡張にアクセスすることも可能です。
以下の表では、トレースのさまざまな側面のフィルタリングに使用できる ID を含めて、ログおよびトレース拡張について説明します。
拡張 | 説明 |
---|---|
appName | ログ・レコードまたはトレース・レコードに関連した Java™ Platform, Enterprise Edition (Java EE) アプリケーションの名前 (存在する場合) を示します。 |
requestID | 各ログ・レコードまたはトレース・レコードが関係する要求の固有 ID を指定します (該当がある場合)。 アプリケーション・サーバーがログ・レコードおよびトレース・レコードに requestID 拡張を追加するには、 管理コンソールでログおよびトレース相関とも呼ばれるクロス・コンポーネント・トレース (XCT) を使用可能にする必要があります。 要求 ID は、HTTP や JMS 要求など、特定タイプの要求についてのみ追加されます。 |
SIPCallId | SIP プロキシー・サーバーまたは SIP コンテナーによって処理される SIP 呼び出し ID を指定します。 この情報は、SIP プロキシー・サーバーおよび SIP コンテナー間で共通です。 この拡張を使用して、さまざまなコンポーネントをまたがって SIP 呼び出しフローをトラッキングできます。 HPEL ロギングが有効になっている場合、SIP プロキシー・サーバーと SIP コンテナーは、各ログ・レコードおよびトレース・レコードにこの ID を自動的に追加します。 |
SIPASId | SIP コンテナーによって処理される SIP アプリケーション・セッション ID を指定します。 この情報は、SIP コンテナー間で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングできます。 HPEL ロギングが有効になっている場合、SIP コンテナーは、各ログ・レコードおよびトレース・レコードにこの ID を自動的に追加します。 |
SIPSessionId | SIP コンテナーによって処理される SIP セッション ID を指定します。 この情報は、SIP コンテナー間で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングできます。 HPEL ロギングが有効になっている場合、SIP コンテナーは、各ログ・レコードおよびトレース・レコードにこの ID を自動的に追加します。 |
SIPCallId2 | 同じ SIP アプリケーション・セッションに関連付けられ、SIP コンテナーによって処理される 2 番目の SIP 呼び出し ID を指定します。 この情報は、SIP コンテナー間で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングできます。 HPEL ロギングが有効になっている場合、SIP コンテナーは、各ログ・レコードおよびトレース・レコードにこの ID を自動的に追加します。 1 つの SIP アプリケーション・セッションに 3 つ以上の SIP 呼び出し ID が関連付けられている場合、最初の 2 つの ID だけが記録されます。 その他の ID は記録されません。 |
SIPSessionId2 | 同じ SIP アプリケーション・セッションに関連付けられ、SIP コンテナーによって処理される 2 番目の SIP セッション ID を指定します。 この情報は、SIP コンテナー間で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングできます。 HPEL ロギングが有効になっている場合、SIP コンテナーは、各ログ・レコードおよびトレース・レコードにこの ID を自動的に追加します。 1 つの SIP アプリケーション・セッションに 3 つ以上の SIP セッション ID が関連付けられている場合、最初の 2 つの ID だけが記録されます。 その他の ID は記録されません。 |
thread | 各ログ・レコードまたはトレース・レコードが関係する要求のスレッド名を指定します。 |