cciUserTraceW

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

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

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

構文

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

パラメーター

returnCode
関数からの戻りコードを受け取ります (出力)。NULL ポインターを入力すると、ユーザー定義ノードがエラーを処理しないことを示します。この呼び出しの実行時にスローされた例外は、フロー内の次のアップストリーム・ノードに対して再度スローされます。 入力が NULL でない場合、出力は呼び出しの成功状況を示します。 実行時に例外が発生する場合、出力時に *returnCode が CCI_EXCEPTION に設定されます。 この例外の詳細を取得するには、CciGetLastExceptionData を呼び出してください。
object
トレース・エントリーに関連付けられるオブジェクトのアドレス (入力)。 このオブジェクトは CciNode* または CciParser* となります。CciNode* を指定した場合には、そのノードの名前がトレースに書き込まれます。 CciParser* を指定した場合には、パーサーを作成したノードの名前がトレースに書き込まれます。 このオブジェクトは、エントリーをトレースに書き込むかどうかを決定するためにも使用されます。 エントリーは、ノードにおいてトレースがアクティブである場合にのみ書き込まれます。 ノードはメッセージ・フローからトレース設定を継承します。
このパラメーターが NULL の場合は、実行グループのトレース・レベルが戻されます。
messageSource
Windows® メッセージ・ソース、または Linux®UNIX®z/OS® のメッセージ・カタログの、完全修飾の場所および名前。

変更の始まり現行のブローカー・メッセージ・カタログを使用するには、 すべてのオペレーティング・システムで BIPv600 を指定します。 あるいは、独自のメッセージ・カタログを作成することもできます。変更の終わり

トレースをフォーマット設定する場合は、このカタログの NLS バージョンからのメッセージが書き込まれます。

使用されるロケールは、トレースをフォーマット設定する環境のロケールです。 1 つのプラットフォームでブローカーを実行し、そのプラットフォームでログを読み、 それから別のプラットフォームでそのログをフォーマット設定することができます。 例えば、ブローカーを LinuxUNIX、または z/OS で実行しているものの、 そこには使用可能な .cat ファイルがない場合、 ユーザーはログを読んでからそれを Windows に転送し、 .properties ファイルを使ってログをフォーマット設定できるかもしれません。

このパラメーターが NULL の場合は、空ストリングを指定したときと同じ結果になります。すなわち、他のすべての情報がログに書き込まれ、カタログ・フィールドには空ストリング値が入ります。 そのため、ログ・フォーマッターはメッセージ・ソースを見つけることができずに、このエントリーのフォーマット設定に失敗します。

messageNumber
指定された messageSource 内のメッセージを識別する数値 (入力)。 この messageNumber に対応するメッセージが messageSource に入っていない場合、ログ・フォーマッターはこのエントリーのフォーマット設定に失敗します。
traceText
NULL で終了する、文字のストリング (入力)。このストリングはサービス・トレースに書き込まれます。これによって、トレース・エントリーと、ソース・コードの中でたどってきたパスとを容易に相関させることができます。 例えば、トレースに書き出されたメッセージは同じでも (messageSource および messageNumber)、コードの中でたどってきたパスは何通りかあるかもしれません。 traceText を使用して、これらの異なるパスを区別することができます。 つまり、traceText ストリングは、ソース内の静的なリテラル・ストリングであるため、 同じストリングが、ソース・コード・ファイルとフォーマット設定されたトレース・ファイルの両方に存在します。
...
メッセージに付随する任意のメッセージ挿入を含む C 変数引数リスト (入力)。 これらの挿入は文字ストリングとして扱われ、変数引数はタイプが pointer to CciChar (CciChar へのポインター) であると見なされます。

このリストの最後の引数は、 (CciChar*)0 でなければなりません。

戻り値

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

const CciChar*   myMessageSource=CciString("SwitchMSG",BIP_DEF_COMP_CCSID);
const CciChar*   text = CciString("propagating to add terminal",
                                   BIP_DEF_COMP_CCSID);
const CciChar*   insert = CciString("add", BIP_DEF_COMP_CCSID);
CciNode*         thisNode = ((NODE_CONTEXT_ST*)context)->nodeObject;
int              rc = CCI_SUCCESS;
 
cciUserTrace(&rc,
             (CciObject*)thisNode,
             myMessageSource,
             1,
             text,
             insert,
             (CciChar*)0);
checkRC(rc);
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:44:41

as24580_