Personalizar la anotación cronológica para Loader package

Para personalizar la anotación cronológica para Loader package, utilice el archivo WCALoggerConfig.xml.

Este archivo se encuentra en un directorio especificado en la variable de entorno de sistema de vía de acceso de clases (CLASSPATH). También lo puede especificar la propiedad del sistema Java com.ibm.wca.logging.configFile.

 unidad:\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
unidad:\Archivos de programa\WebSphere\CommerceServer\xml\loader\WCALoggerConfig.xml 
/usr/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/opt/WebSphere/CommerceServer/xml/loader/WCALoggerConfig.xml 
/QIBM/UserData/WebCommerce/instances/instancename/xml/WCALoggerConfig.xml

WCALoggerConfig.xml contiene uno o más códigos de componente, por ejemplo, <component name="DTDGenerator">. A cada uno de estos códigos se les puede añadir anotadores y manejadores. No debe modificar los códigos de programa de utilidad ni de anotador que se proporcionan con el sistema, pero puede añadir códigos de manejador a los anotadores. Para obtener información sobre lo que puede incluir en este archivo, vea el archivo WCALogger.DTD.

Las anotaciones cronológicas de Loader package están en el archivo messages.txt de los directorios siguientes:

 unidad:\WebSphere\CommerceServer\instances\nombreinstancia\logs
unidad:\Archivos de programa\WebSphere\CommerceServer\nombreinstancia\logs
/usr/WebSphere/CommerceServer/instances/nombreinstancia/logs
/opt/WebSphere/CommerceServer/instances/nombreinstancia/logs
/QIBM/UserData/WebCommerce/instances/nombreinstancia/logs

Manejadores

Para añadir un manejador a un anotador, especifique el tipo de manejador en el archivo WCALoggerConfig.xml. Puede añadir más de un manejador a un anotador. Tenga en cuenta que cada manejador tiene sus propios atributos y códigos subordinados que no se aplican necesariamente a otros manejadores. Los tipos de manejadores son los siguientes:

Tipo de manejador Descripción y atributos
console Envía mensajes a la salida estándar, generalmente la línea de mandatos.
file Almacena mensajes en un archivo de texto.

Debe añadir <filePath>vía de acceso de anotaciones</filePath> a este manejador como codificación subordinada.

multifile Crea una anotación cronológica de archivos circular

Debe especificar <filePath>vía acceso anotaciones</filePath>. Se crean los archivos de anotaciones cronológicas 1 a n. Puede añadir los siguientes atributos:

MaxFiles
Un entero que indica cuántos archivos de anotaciones cronológicas deben utilizarse antes de borrar el primer archivo de anotaciones cronológicas
MaxKBFileSize
Un entero que indica el número máximo de kilobytes que se han de almacenar en cada archivo de anotaciones cronológicas
Windows NT Windows 2000 AIX
Solaris Linux database
Almacena mensajes en una tabla DB2 en una anotación cronológica circular. Puede añadir los siguientes atributos:
brand
Nombre del tipo de base de datos. DB2 es la única base de datos que está soportada actualmente.
maxRows
El número máximo de registros que se han de almacenar en una tabla antes de borrar la entrada más antigua.
Puede incluir <jdbc/> como un código subordinado e incluir los atributos siguientes:
url
El URL utilizado en JDBC para acceder a una base de datos (por ejemplo, Jdbc:db2:wcm, donde wcm es el nombre de la base de datos). La base de datos debe existir para poder ejecutar el programa de utilidad.
table
El nombre de la tabla de base de datos en la que se anotarán los mensajes. Debe crearse con la sentencia DB2 siguiente:

CREATE TABLE nombretabla (KEY char(13) FOR BIT DATA NOT NULL, COMPONENTNAME VARCHAR(30), ENTRY VARCHAR(2000), PRIMARY KEY(key))

userid
El nombre del usuario de la base de datos. Al usuario se le deben asignar permisos para actualizar la tabla. Para ello, utilice la sentencia DB2 siguiente:

GRANT SELECT, UPDATE, INSERT, DELETE ON TABLE nombretabla TO USER idusuario

password
La contraseña de base de datos para el nombre de usuario especificado

El ejemplo siguiente añade un manejador de tipo "database" a un anotador:

  <handler type="database" brand="DB2" maxRows="50">
   <jdbc url="jdbc:db2:wcm"
      table="wcm.log"
      userid= "wasuser"
      password="123456"/>
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
     </filter>
  </handler>

Filtros

Se pueden añadir o eliminar filtros de los manejadores para incluir y excluir tipos de mensajes. Si un anotador no tiene ningún filtro, no se anota ningún mensaje. Cada código de filtro tiene un código messageType subordinado en el que figura el tipo de mensaje, que generalmente es uno de los siguientes:

El archivo WCALogger.dtd contiene otros tipos de mensajes, pero la mayoría de ellos no suelen utilizarse con este paquete.

Entre los tipos de filtros se incluyen los siguientes:

Tipo de filtro Descripción y atributos
Any Incluye en el archivo de anotaciones cronológicas cualquier mensaje que sea uno de los messageType especificados.

Por ejemplo, si la lista de messageType incluye ERROR y la aplicación genera un mensaje de tipo ERROR, el mensaje se anota cronológicamente.

All Indica que para que un mensaje se anote cronológicamente, ha de tener todos los atributos de tipo messageType especificados.
Exclude Anota cronológicamente todos los mensajes no especificados en la lista de códigos messageType.

El ejemplo siguiente de cómo añadir un filtro a un manejador permite que los tipos de mensajes FATAL y ERROR se anoten cronológicamente y que se ignoren otros tipos de mensajes:

  <handler type="file">
     <filter type="Any">
	<messageType name="FATAL"/>
	<messageType name="ERROR"/>
     </filter>
  </handler>

Formatos

Para el formato de mensajes puede especificar uno de dos tipos de formateador:

Tipo de formateador Descripción y atributos
safe 
(valor por omisión)
Impide que se genere una excepción cuando no se encuentra un mensaje en un archivo de propiedades.

Este formateador crea un mensaje que indica que falta el recurso.

xml Formatea el mensaje en formato XML.

Si no se encuentra un mensaje, este formateador también escribe un mensaje en lugar de generar una excepción.

Ejemplo:  WCALoggerConfig.xml y WCALogger.dtd

  WCALoggerConfig.xml

  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE WCALoggerConfig SYSTEM "WCALogger.dtd">
  <WCALoggerConfig>
  <component name="MassLoader">
   <logger type="message">
    <handler type="file">
     <filePath>c:\temp\out.txt</filePath>
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
   <logger type="trace">
    <handler type="file">
     <filePath>out2.txt</filePath>
     <filter type="Any">
       <messageType name="PUBLIC"/>
     </filter>
    </handler>
   </logger>
   <logger type="typedMessage">
    <handler type="file">
     <filePath>tout.txt</filePath>
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
   <logger type="progress">
    <handler type="console" format="safe">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
  </component>
  <component name="DTDGenerator">
   <logger type="message">
    <handler type="console">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
   <logger type="trace">
    <handler type="console">
     <filter type="Any">
       <messageType name="FATAL"/>
       <messageType name="ERROR"/>
       <messageType name="WARNING"/>
       <messageType name="INFO"/>
     </filter>
    </handler>
   </logger>
  </component>
  </WCALoggerConfig>

  WCALogger.dtd

  <!-- Esta DTD describe cómo puede estructurarse un archivo XML WCALoggerConfig.
Un documento XML WCALoggerConfig es el archivo de configuración de entrada
para la clase WCALoggerFactory.
  -->

  <!ELEMENT WCALoggerConfig (component)+>

  <!ELEMENT component (logger)+>
  <!ATTLIST component name CDATA #REQUIRED>
  <!ELEMENT logger (handler+,messageFile?)>
  <!ATTLIST logger type (message | trace | typedMessage | progress) "typedMessage">

  <!-- messageFile es un archivo de propiedades por omisión opcional que puede
  utilizarse para crear mensajes específicos del entorno nacional
  -->
  <!ELEMENT messageFile (#PCDATA)>
  <!ELEMENT handler (filePath?, filter, jdbc?)>
  <!ATTLIST handler
  type ( file|multiFile|console|error|textArea|database|ejbQueue|queue ) "console">

  <!-- maxFiles y maxKBFileSize solamente se aplican al tipo de manejador multiFile
  -->
  <!-- filePath y encoding solamente se aplican cuando el tipo del manejador es
  file o multiFile
  -->
  <!ATTLIST handler maxFiles CDATA #IMPLIED>
  <!ATTLIST handler maxKBFileSize CDATA #IMPLIED>
  <!ATTLIST handler encoding CDATA #IMPLIED>
  <!ATTLIST handler format (safe | xml) "safe">
<!-- maxRecords y brand sólo se aplican al tipo de manejador database
  -->
  <!ATTLIST handler maxRecords CDATA #IMPLIED>
  <!ATTLIST handler brand (DB2) #IMPLIED>
<!-- el código jdbc debe figurar en un código de tipo de manejador database
  -->
  <!ELEMENT jdbc EMPTY>
  <!ATTLIST jdbc url CDATA #IMPLIED>
  <!ATTLIST jdbc table CDATA #IMPLIED>
  <!ATTLIST jdbc userid CDATA #IMPLIED>
  <!ATTLIST jdbc password CDATA #IMPLIED>

  <!ELEMENT filter (messageType+)>
  <!ATTLIST filter type (Any | All | Exclude ) "Any">

<!-- el nombre de atributo messageType es una de estas constantes de JLog
   IRecordType
  -->
  <!ELEMENT messageType EMPTY>
  <!ATTLIST messageType name ( NONE | ALL | INFO |
  INFORMATION | WARN | WARNING | ERR | ERROR |
  FATAL | DEFAULT_MESSAGE | API | CALLBACK |
  ENTRY_EXIT | ENTRY | EXIT | ERROR_EXC |
  MISC_DATA | OBJ_CREATE | OBJ_DELETE |
  PRIVATE | PUBLIC | STATIC | SVC | PERF |
  LEVEL1 | LEVEL2 | LEVEL3 ) "ALL">
  <!ELEMENT filePath (#PCDATA)>

Conceptos relacionados

Tareas relacionadas

IBM copyright