Utilize cciUserDebugTrace para gravar uma mensagem de um catálogo de mensagens (com inserções) no rastreio do usuário quando ele estiver ativo no nível de depuração.
Se o rastreio do usuário não estiver ativo no nível de depuração, uma entrada será gravada no rastreio de serviço quando o rastreio de serviço estiver ativo.
void cciUserDebugTrace(
int* returnCode,
CciObject* object,
const CciChar* messageSource,
int messageNumber,
const char* traceText,
...
);
Para utilizar o catálogo de mensagens do intermediário atual, especifique BIPmsgs em todos os sistemas operacionais. Alternativamente, você pode criar seu próprio catálogo de mensagens.
Quando o rastreio é formatado, uma mensagem da versão NLS desse catálogo é escrita.
O código do idioma utilizado é esse do ambiente, no qual o rastreio é formatado. É possível executar o broker em um sistema operacional, ler o log nesse sistema operacional, em seguida, formatar o log em um sistema operacional diferente. Por exemplo, se o broker estiver em execução no Linux, UNIX ou z/OS mas nenhum arquivo .cat estiver disponível, será possível ler o log, em seguida, transferi-lo para Windows onde o log pode ser formatado usando o arquivo .properties.
Se este parâmetro for NULL, o resultado será o mesmo que a especificação de uma cadeia vazia. Isto é, todas as outras informações serão gravadas no registro e o campo catalogue terá um valor de cadeia vazio. Portanto, o formatador de log não poderá localizar a origem da mensagem e falhará ao formatar esta entrada.
Nenhum. Se ocorrer um erro, o parâmetro returnCode indica o motivo do erro.
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);