ユーザー定義 C 拡張機能からのトレース・ログ

C プログラミング言語 API を対象に作成されるメッセージ処理ノードとパーサーは、トレースにエントリーを書き込むことができます。

トレースには以下の 2 つのタイプがあります。
  • サービス・トレース: エントリーは通常、コード内で何が行われているかを記述します。ユーザー定義拡張機能の開発者など、コードの所有者にのみ有用なものです。
  • ユーザー・トレース: エントリーは通常、外部レベルで何が行われているかを記述します。コードのユーザーに有用なものです。 コードのユーザーには、メッセージ・フローの設計担当者や、ブローカー・ドメイン管理者が含まれます。
それぞれのトレース・タイプごとに、3 つのレベルがあります。
  • なし
  • Normal
  • デバッグ
C ユーザー定義拡張機能では、トレース・タイプごとに以下のユーティリティー関数を使用できます。
  • cciServiceTrace および cciUserTrace: これらの関数は、トレースがアクティブにされた場合にのみ (すなわちトレースが通常レベルかデバッグ・レベルの場合にのみ)、エントリーをそれぞれのトレース・タイプに書き込みます。
  • cciServiceDebugTrace および cciUserDebugTrace: これらの関数は、トレースがデバッグ・レベルでアクティブである場合にのみ、エントリーをそれぞれのトレース・タイプに書き込みます。
トレースの書き込みが行われない状況で関数呼び出しをしないように、cciIsTraceActive ユーティリティー関数が用意されています。 cciIsTraceActive は、トレースがアクティブかどうかということと、トレースがアクティブになっているレベルをレポートします。

cci*Trace 関数は、トレース設定に関係なく、ユーザー定義拡張機能で使用できます。 これらの関数は、トレースがアクティブであるかを判別して、トレース設定に適したエントリーのみを書き込みます。 cci*Trace 関数を呼び出す際、追加処理が必要となることがあります。 ユーザー定義拡張機能がトレース設定を照会し、トレースが非アクティブならこの余分の処理を行わないで済むよう、cciIsTraceActive 関数が用意されています。

多くの場合、cciIsTraceActive 関数から戻される値をブール値として処理するだけで十分です。 戻り値がゼロ以外の場合、トレースはいずれかのレベルでアクティブであり、どの cci*Trace 関数を呼び出しても構いません。 トレース設定の詳細が必要な場合、戻り値を詳しく検査することもできます。

トレース設定の変更はいつでも起こり得るので、定期的に照会することをお勧めします。 例えば、インプリメンテーション関数に入るときに、cciIsTraceActive を使用してトレース設定を照会するようにしてください。

トレース・エントリーは特定のオブジェクトと関連付けることができるので、トレースの書き込みをより細分化して制御することができます。 トレース・エントリーは、ノードまたはパーサーと関連付けることができ、トレースはそのオブジェクトのトレース設定に応じて書き込まれます。 オブジェクトのトレース設定は、ノードまたはパーサーが属するメッセージ・フローから継承されます。オブジェクトの指定がない場合には、トレースは実行グループと関連付けられます。

関連資料
cciUserDebugTrace
cciServiceTrace
cciServiceDebugTrace
ccilsTraceActive
ユーザー・トレース
サービス・トレース
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as24550_