cciUserDebugTrace を使用して、 ユーザー・トレースがデバッグ・レベルでアクティブのときに、メッセージ・カタログからのメッセージ (挿入あり) をユーザー・トレースに書き込みます。
ユーザー・トレースがデバッグ・レベルでアクティブではない場合、 サービス・トレースがアクティブなら、エントリーはサービス・トレースに書き込まれます。
void cciUserDebugTrace(
int* returnCode,
CciObject* object,
const CciChar* messageSource,
int messageNumber,
const char* traceText,
...
);
現行のブローカー・メッセージ・カタログを使用するには、 すべてのオペレーティング・システムで BIPmsgs を指定します。 あるいは、独自のメッセージ・カタログを作成することもできます。
トレースをフォーマット設定する場合は、このカタログの NLS バージョンからのメッセージが書き込まれます。
使用されるロケールは、トレースをフォーマット設定する環境のロケールです。 1 つのオペレーティング・システムでブローカーを実行し、そのオペレーティング・システムでログを読み、それから別のオペレーティング・システムでそのログをフォーマット設定することができます。 例えば、ブローカーを Linux、UNIX、または z/OS で実行しているものの、 そこには使用可能な .cat ファイルがない場合、 ユーザーはログを読んでからそれを Windows に転送し、 .properties ファイルを使ってログをフォーマット設定できるかもしれません。
このパラメーターが NULL の場合は、空ストリングを指定したときと同じ結果になります。 すなわち、他のすべての情報がログに書き込まれ、カタログ・フィールドには空ストリング値が入ります。 そのため、ログ・フォーマッターはメッセージ・ソースを見つけることができずに、このエントリーのフォーマット設定に失敗します。
なし。 エラーが発生した場合、returnCode パラメーターがエラーの理由を示します。
const CciChar* myMessageSource=CciString("SwitchMSG",BIP_DEF_COMP_CCSID);
CciNode* thisNode = ((NODE_CONTEXT_ST*)context)->nodeObject;
const char* mbElementName = mbString((CciChar*)&elementName,BIP_DEF_COMP_CCSID);
const char* mbElementValue = mbString((CciChar*)&elementValue,BIP_DEF_COMP_CCSID);
const char* traceTextFormat = "Switch Element: name=%s, value=%s";
char* traceText = (char*)malloc(strlen(traceTextFormat) +
strlen(mbElementName) +
strlen(mbElementValue));
sprintf(traceText,traceTextFormat,mbElementName,mbElementValue);
cciUserDebugTrace(&rc,
(CciObject*)thisNode,
myMessageSource,
2,
traceText,
mbElementName,
mbElementValue,
(char*)0);
free((void*)mbElementName);
free((void*)mbElementValue);
free((void*)traceText);