cciUserDebugTrace

Utilice cciUserDebugTrace para grabar un mensaje de un catálogo de mensajes (con inserciones) en un rastreo de usuario si el rastreo de usuario está activo a nivel de depuración.

Si el rastreo de usuario no está activo a nivel de depuración, se graba una entrada en el rastreo de servicio cuando éste está activo a cualquier nivel.

Sintaxis

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

Parámetros

returnCode
Recibe el código de retorno de la función (salida). Una entrada de puntero NULL indica que el nodo definido por el usuario no desea tratar los errores. Las excepciones emitidas durante la ejecución de esta llamada se vuelven a emitir en el nodo ascendente siguiente del flujo. Si la entrada no es NULL, la salida indica el estado de ejecución satisfactoria de la llamada. Si se produce una excepción durante la ejecución, *returnCode se establece en CCI_EXCEPTION en la salida. Invoque CciGetLastExceptionData para obtener información detallada de la excepción.
object
Dirección del objeto que se debe asociar a la entrada del rastreo (entrada). Este objeto puede ser un CciNode* o CciParser*. Si especifica un CciNode*, el nombre de este nodo se anota en el rastreo. Si especifica un CciParser*, en el rastreo se anota el nombre del nodo que ha creado el analizador. Este objeto también se utiliza para determinar si la entrada debe anotarse en el rastreo. La entrada sólo se anota si el rastreo está activo para el nodo. Los nodos heredan el valor de rastreo del flujo de mensajes.
Si este parámetro es NULL, se devuelve el nivel de rastreo para el grupo de ejecución.
messageSource
La ubicación totalmente calificada y el nombre del origen de mensajes de Windows o el catálogo de mensajes de Linux, UNIX o z/OS.

Inicio del cambioPara utilizar el catálogo de mensajes del intermediario actual, especifique BIPv600 en todos los sistemas operativos. De forma alternativa, puede crear su propio catálogo de mensajes.Fin del cambio

Cuando se da formato a un rastreo, se escribe un mensaje de la versión NLS de este catálogo.

El entorno local utilizado es el del entorno en el que se da formato al rastreo. Puede ejecutar el intermediario en una plataforma, leer las anotaciones en esa plataforma y luego darles formato en una plataforma distinta. Por ejemplo, si el intermediario se está ejecutando en Linux, UNIX o z/OS pero no hay ningún archivo .cat disponible, el usuario podría leer las anotaciones y, a continuación, transferirlas a Windows donde se pueden formatear utilizando el archivo .properties.

Si este parámetro es NULL, el efecto es el mismo que especificar una serie de caracteres vacía. Es decir, se anota toda la información restante y el campo de catálogo tiene un valor de serie de caracteres vacío. Por consiguiente, el formateador de anotaciones no puede encontrar el origen de mensajes y no puede formatear esta entrada.

messageNumber
El número que identifica el mensaje dentro del objeto messageSource especificado (entrada). Si el objeto messageSource no contiene un mensaje que corresponda a este messageNumber, el formateador de anotaciones no podrá formatear esta entrada.
traceText
Serie de caracteres que finaliza con un NULL (entrada). Esta serie de caracteres se anota en el rastreo de servicio y proporciona una forma fácil de correlacionar entradas de rastreo con rutas a través del código fuente. Por ejemplo, podría haber varias rutas a través del código que culminaran en que se escribiera el mismo mensaje (messageSource y messageNumber) en el rastreo. Se puede utilizar traceText para distinguir entre estas distintas rutas. Es decir, la serie de caracteres traceText es una serie de caracteres literal y estática en el origen y, por tanto, la misma serie de caracteres está tanto en el archivo del código fuente como en el archivo de rastreo formateado.
...
Lista de argumentos variables C que contiene las inserciones de mensaje que acompañan al mensaje (entrada). Estas inserciones se tratan como series de caracteres y se supone que los argumentos variables son de tipo puntero a carácter. El último argumento de esta lista debe ser (char*)0.
  • Para las extensiones definidas por el usuario que se ejecutan en plataformas distribuidas, los argumentos char* deben estar en la página de códigos ISO-8859-1 (ibm-918).
  • Para las extensiones definidas por el usuario que se ejecutan en plataformas Z/OS, los argumentos char* deben estar en EBCIDIC (1047).
Esto incluye todos los argumentos char* en traceText y la lista de argumentos variables de inserciones (...).

Valores de retorno

Ninguno. Si se produce un error, el parámetro returnCode indica la razón del mismo.

Ejemplo

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);
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:56:19

as24510_