cciUserTrace

メッセージ・カタログからのメッセージ (挿入あり) をユーザー・トレースに書き込みます。 サービス・トレースがアクティブである場合、メッセージはサービス・トレースにも書き込まれます。

ユーザー・トレースに書き込まれるメッセージは、以下の形式になります。

<date-time stamp> <threadNumber> UserTrace <Message text with inserts> <Message Explanation>

構文

void cciUserTrace(
  int*           returnCode,
  CciObject* object,
  const CciChar* messageSource,
  int messageNumber,
  const char* traceText,
                    ...
);

パラメーター

returnCode
関数からの戻りコードを受け取ります (出力)。NULL ポインターを入力すると、ユーザー定義ノードがエラーを処理しないことを示します。この呼び出しの実行時にスローされた例外は、フロー内の次のアップストリーム・ノードに対して再度スローされます。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 実行時に例外が発生する場合、出力時に *returnCode が CCI_EXCEPTION に設定されます。 CciGetLastExceptionData を呼び出すと、例外の詳細が提供されます。
object
トレース・エントリーに関連付けられるオブジェクトのアドレス (入力)。 このオブジェクトは CciNode* または CciParser* となります。CciNode* である場合には、そのノードの名前がトレースに書き込まれます。CciParser* である場合には、パーサーを作成したノードの名前がトレースに書き込まれます。このオブジェクトは、エントリーをトレースに書き込むかどうかを決定するためにも使用されます。 エントリーは、ノードにおいてトレースがアクティブである場合にのみ書き込まれます。現行では、ノードはメッセージ・フローからトレース設定を継承します。
このパラメーターが NULL の場合は、実行グループのトレース・レベルが戻されます。
messageSource
Windows メッセージ・ソースまたは Linux および UNIX メッセージ・カタログを識別するストリング (入力)。 トレースをフォーマット設定する場合は、このカタログの NLS バージョンからのメッセージが書き込まれます。 使用されるロケールは、トレースをフォーマット設定する環境のロケールです。 あるタイプのプラットフォームでブローカーを実行し、そのプラットフォームでログを読み、それから別のプラットフォームでそのログをフォーマット設定することが可能です。 例えば、ブローカーを Linux または UNIX で実行しているものの、そこには使用可能な .cat ファイルがない場合、ユーザーはログを読んでからそれを Windows に転送し、.properties ファイルを使ってログをフォーマット設定できるかもしれません。
このパラメーターが NULL の場合は、空ストリングを指定したときと同じ結果になります。すなわち、他のすべての情報がログに書き込まれ、カタログ・フィールドには空ストリング値が入ります。 そのためログ・フォーマッターは、メッセージ・ソースを検出することができません。 その結果、ログ・フォーマッターはこのエントリーのフォーマット設定に失敗します。
messageNumber
指定された messageSource 内のメッセージを識別する数値 (入力)。 この messageNumber に対応するメッセージが messageSource に入っていない場合、ログ・フォーマッターはこのエントリーのフォーマット設定に失敗します。
traceText
NULL で終了する、文字のストリング (入力)。このストリングはサービス・トレースに書き込まれます。これによって、トレース・エントリーと、ソース・コードの中でたどってきたパスとを容易に相関させることができます。 例えば、トレースに書き出されたメッセージは同じでも (messageSource および messageNumber)、コードの中でたどってきたパスは何通りかあるかもしれません。 traceText を使用すると、これらの異なるパスを区別することができます。 つまり、traceText ストリングは、ソース内の静的なリテラル・ストリングになります。したがって、同じストリングが、ソース・コード・ファイルとフォーマット設定されたトレース・ファイルの両方に存在することになります。
...
メッセージに付随する任意のメッセージ挿入を含む C 変数引数リスト (入力)。 これらの挿入は文字ストリングとして扱われ、 変数引数はタイプが pointer to char (文字へのポインター) であると見なされます。
このリストの最後の引数は、(char*)0 でなければなりません
  • 分散プラットフォームで稼働するユーザー定義拡張機能では、char* 引数は ISO-8859-1 (ibm-918) コード・ページでなければなりません。
  • z/OS プラットフォームで稼働するユーザー定義拡張機能では、char* 引数は EBCIDIC (1047) でなければなりません。
これには、traceText 内のすべての char* 引数と挿入の変数引数リスト (...) が含まれます。

戻り値

なし。エラーが発生した場合、returnCode パラメーターがエラーの理由を示します。

const CciChar* 		myMessageSource=CciString("SwitchMSG",BIP_DEF_COMP_CCSID);
CciNode* thisNode = ((NODE_CONTEXT_ST*)context)->nodeObject;

cciUserTrace(&rc,
             (CciObject*)thisNode,
              myMessageSource,
              1,
              "propagating to add terminal",
              "add",
              (char*)0);
    checkRC(rc);
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as24500_