ログおよびトレースの拡張

アプリケーション・サーバーの High Performance Extensible Logging (HPEL) 機能には、開発者がログ・レコードおよびトレース・レコードに拡張フィールドを追加する方法が用意されており、それに対応してユーザーが拡張の値によってログ・レコードやトレース・レコードをフィルタリングする方法も提供されています。

ログ・レコードおよびトレース・レコードには、レコードの作成時刻や記録されるメッセージの内容などの情報が入るフィールドがあります。 これらのフィールドは、すべてのログ・レコードおよびトレース・レコードに存在するコア・フィールドです。 対照的に、拡張フィールドは、アプリケーション開発者がログ・レコードおよびトレース・レコードに追加することのできるフィールドで、ユーザーが特定のログおよびトレースの内容を検索する際にフィルター処理基準として使用することができます。 これらのログおよびトレースの拡張は、「拡張」フォーマットを使用するようにテキスト出力フォーマットを構成すると HPEL テキスト・ログで表示可能になり、また、拡張フォーマットで LogViewer コマンドを使用しても表示可能です。

管理者

アプリケーション・サーバーは、複数の拡張を自動的に作成し、ユーザーはそれらを使用してログ・レコードおよびトレース・レコードのフィルタリングができます。 また、アプリケーション開発者が追加した拡張を使用しても、ログ・レコードおよびトレース・レコードのフィルタリングを行うことができます。 LogViewer コマンド行ツールを使用すると、ログ・レコードおよびトレース・レコード拡張コンテンツに基づいてレコードをフィルタリングできます。

例えば、スレッド WebContainer : 6 によって作成されたすべてのレコードを表示する場合、次のように logViewer コマンドを使用することができます。 [IBM i]
logViewer -includeExtensions thread="WebContainer : 6" -format advanced
[AIX HP-UX Solaris][Linux]
logViewer.sh -includeExtensions thread="WebContainer : 6" -format advanced
[Windows]
logViewer.bat -includeExtensions thread="WebContainer : 6" -format advanced
[z/OS]
logViewer.sh -instance instance_id -includeExtensions thread="WebContainer : 6" -format advanced
開発者

開発者は、HPEL を使用することにより、ログ・レコード・コンテキスト API、com.ibm.websphere.logging.hpel.LogRecordContext を通じてカスタム拡張をログ・レコードおよびトレース・レコードに追加できます。 HPEL でログ・レコードおよびトレース・レコードを保管するときは、HPEL は同じスレッド上のログ・レコード・コンテキストに存在するすべての拡張をそこに含めます。例えば、サーブレット・フィルターを作成して、重要な HTTP 要求パラメーターをログ・レコード・コンテキストに追加することができます。 そのサーブレットの実行中、HPEL は、それらの拡張を、同じスレッド上で作成されたすべてのログ・レコードおよびトレース・レコードに追加します。

ログ・レコードおよびトレース・レコードの他のフィールドと同様、開発者は、HPEL API を使用してレコード拡張にアクセスできます。 この API は、ログ・リポジトリーおよびトレース・リポジトリーから読み取りを行うツールを作成するときに便利です。また、開発者は、ログ・レコード・コンテキスト API を使用して、カスタム・ログ・ハンドラー、フィルター、およびフォーマッターの拡張に実行時にアクセスできます。

次の表は、トレースをさまざまな側面からフィルタリングする際に使用できる ID を含む、ログおよびトレースの拡張について説明しています。

表 1. ログおよびトレースの拡張. 以下の表には、HPEL を使用する際に利用可能なログおよびトレースの拡張をリストします。
拡張子 説明
appName

ログ・レコードまたはトレース・レコードに関連した Java™ Platform, Enterprise Edition (Java EE) アプリケーションの名前 (存在する場合) を示します。

requestID

ログ・レコードまたはトレース・レコードのそれぞれが関連する要求の固有の ID (存在する場合) を示します。 アプリケーション・サーバーがログ・レコードおよびトレース・レコードに requestID 拡張を追加するためには、管理コンソールでもログおよびトレースの相関として参照される Cross Component Trace (XCT) を使用可能にする必要があります。 要求 ID は、特定のタイプの要求 (例えば HTTP 要求や JMS 要求など) に対してのみ追加されます。

SIPCallId

SIP プロキシー・サーバーまたは SIP コンテナーにより処理されている SIP 呼び出し ID を示します。 この情報は、SIP プロキシー・サーバーおよび SIP コンテナー全体で共通です。 この拡張を使用して、さまざまなコンポーネントにまたがる SIP 呼び出しフローのトラッキングを行うことができます。 SIP プロキシー・サーバーおよび SIP コンテナーは、HPEL ロギングが使用可能にされると、この ID をログおよびトレースの各レコードに自動的に追加します。

SIPASId

SIP コンテナーにより処理されている SIP アプリケーション・セッション ID を示します。 この情報は、SIP コンテナー全体で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングすることができます。 SIP コンテナーは、HPEL ロギングが使用可能にされると、この ID をログおよびトレースの各レコードに自動的に追加します。

 SIPSessionId

SIP コンテナーにより処理されている SIP セッション ID を示します。 この情報は、SIP コンテナー全体で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングすることができます。 SIP コンテナーは、HPEL ロギングが使用可能にされると、この ID をログおよびトレースの各レコードに自動的に追加します。

SIPCallId2

SIP コンテナーにより処理されていて、同じ SIP アプリケーション・セッションに関連づけられている 2 つ目の SIP 呼び出し ID を示します。 この情報は、SIP コンテナー全体で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングすることができます。 SIP コンテナーは、HPEL ロギングが使用可能にされると、この ID をログおよびトレースの各レコードに自動的に追加します。

単一の SIP アプリケーション・セッションに 3 つ以上の SIP 呼び出し ID が関連付けられている場合は、最初の 2 つの ID のみが記録されます。 追加の ID は記録されません。

SIPSessionId2

SIP コンテナーにより処理されていて、同じ SIP アプリケーション・セッションに関連づけられている 2 つ目の SIP セッション ID を示します。 この情報は、SIP コンテナー全体で共通です。 この拡張を使用して、SIP 呼び出しフローをトラッキングすることができます。 SIP コンテナーは、HPEL ロギングが使用可能にされると、この ID をログおよびトレースの各レコードに自動的に追加します。

3 つ以上の SIP セッション ID が、単一の SIP アプリケーション・セッションと関連付けられている場合は、最初の 2 つの ID のみが記録されます。 追加の ID は記録されません。

thread

ログ・レコードまたはトレース・レコードのそれぞれが関連する要求のスレッド名を示します。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rtrb_logtraceextensions
ファイル名:rtrb_logtraceextensions.html