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 este estiver ativo em qualquer nível.
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 BIPv600
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 intermediário em uma plataforma, ler o log nessa plataforma e, em seguida, formatar o log em uma plataforma diferente. Por exemplo, se o intermediário estiver em execução no Linux, UNIX ou z/OS mas nenhum arquivo .cat estiver disponível, você poderá ler o log e, então, transferi-lo para o Windows onde o log pode ser formatado utilizando 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.
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);