Generación de contenido de suceso base común con la fábrica de sucesos predeterminada
Un manejador de contenido predeterminado de suceso base común rellena sucesos base comunes con información del entorno de ejecución de WebSphere Application Server. Este manejador de contenido también puede utilizar una plantilla de suceso base común para rellenar los sucesos base comunes.
// Se obtiene un registrador con nombre
Logger logger = Logger.getLogger("com.ibm.someLogger");
// Se anota en el registrador -- implícitamente el manejador de contenido predeterminado
// estará asociado al CommonBaseEvent contenido en el
// CommonBaseEventLogRecord.
logger.warning("MSG_KEY_001");
Para especificar una plantilla de suceso base común en el caso anterior, habría que facilitar un archivo
Logger.properties con una entrada eventfactory para com.ibm.someLogger.
Si se encuentra una plantilla válida en la ruta de clases, la fábrica de sucesos del registrador utilizará el contenido de la plantilla especificada junto con la información del entorno de ejecución de WebSphere Application
Server cuando se rellenen los sucesos base comunes. Si no se encuentra una plantilla válida en la
ruta de clases, o si no es válida, la fábrica de sucesos del registrador solo utilizará
la información del entorno de ejecución de WebSphere Application Server cuando se rellenen los sucesos base comunes.// Se solicita la fábrica de sucesos a la ubicación local de la fábrica de sucesos global
EventFactory eventFactory =
EventFactoryContext.getInstance().getEventFactoryHome().getEventFactory(templateName);
// Se crea un suceso base común
CommonBaseEvent commonBaseEvent = eventFactory.createCommonBaseEvent();
// Se completa el suceso base común con el contenido de la plantilla (si se ha especificado previamente)
// y con la información del entorno de ejecución del servidor.
eventFactory.getContentHandler().completeEvent(commonBaseEvent);
En el ejemplo
anterior, si la plantilla a la que hace referencia templateName no se
encuentra en la ruta de clases y la plantilla es válida, la ubicación local de la
fábrica de sucesos devolverá una fábrica de sucesos que utilizará un manejador de contenido
que combina el contenido de la plantilla con la información del entorno de ejecución de
WebSphere
Application Server al rellenar sucesos base comunes. Si no se encuentra una plantilla en la
ruta de clases, o si no es válida, la ubicación local de la fábrica de sucesos devolverá una fábrica de sucesos que utilice un manejador de contenido que únicamente utiliza la información del entorno de ejecución de WebSphere Application
Server al rellenar los sucesos base comunes. El manejador de contenido predeterminado rellena los sucesos base comunes del entorno del servidor con la siguiente información del entorno de ejecución:
- CommonBaseEvent.globalInstanceId
- Valor: El id_registro_exclusivo
Asigne este valor solo si el valor de CommonBaseEvent.globalInstanceId es nulo antes de invocar el método completeEvent.
- CommonBaseEvent.msg
- Valor: Un mensaje localizado basado en el elemento MsgDataElement.
Asigne este valor solo si el mensaje CommonBaseEvent.msg es nulo antes de invocar el método completeEvent.
- CommonBaseEvent.severity
- Valor: Se establece según el valor del nivel establecido en el registro de
CommonBaseEventLogRecord, si el nivel es >= level.SEVERE, se establece a
50; si el nivel es >= Level.WARNING, se establece a
30; el valor predeterminado se establece a 10.
Establezca este valor solo si el valor CommonBaseEvent.severity es nulo antes de llamar al método completeEvent.
- CommonBaseEvent.ComponentIdentification.component
- Valor: Se establece según el valor de LoggerName establecido en el registro
CommonBaseEventLogRecord.
Establezca este valor solo si CommonBaseEvent.ComponentIdentification.component es nulo antes de llamar al método completeEvent.
- CommonBaseEvent.ComponentIdentification.componentIdType
- Valor: "Unknown" (desconocido)
Establezca este valor solo si el valor de CommonBaseEvent.ComponentIdentification.componentIdType es nulo antes de llamar al método completeEvent.
- CommonBaseEvent.ComponentIdentification.executionEnvironment
- Valor: nombreOS[arqOS]#versionOS
Establezca este valor solo si el valor de CommonBaseEvent.ComponentIdentification.executionEnvironment es nulo antes de llamar al método completeEvent.
- CommonBaseEvent.ComponentIdentification.instanceId
- Valor: nombreCelda\nombreNodo\nombreServidor
Establezca este valor solo si el valor CommonBaseEvent.ComponentIdentification.instanceId es nulo antes de llamar al método completeEvent. Defínalo solo en un entorno de servidor, porque este valor se ignora en las aplicaciones cliente.
- CommonBaseEvent.ComponentIdentification.location
- Valor: El nombre de host
Defina este valor solo si los valores de CommonBaseEvent.ComponentIdentification.location y CommonBaseEvent.ComponentIdentification.locationType es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.ComponentIdentification.locationType
- Valor: El nombre de host
Defina este valor solo si los valores de CommonBaseEvent.ComponentIdentification.location y CommonBaseEvent.ComponentIdentification.locationType es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.ComponentIdentification.processId
- Valor: Una representación generada internamente del número de proceso.
Defina este valor solo si el valor de CommonBaseEvent.ComponentIdentification.processId es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.ComponentIdentification.subComponent
- Valor: Se establece a partir de los valores de los nombres sourceClassName y
sourceMethodName definidos en el nombre de sourceClassName.sourceMethodName del
registro CommonBaseEventLogRecord.
Defina este valor solo si los valores CommonBaseEvent.ComponentIdentification.subComponent son nulos antes de llamar el método completeEvent y los nombres sourceClassName y sourceMethodName están definidos.
- CommonBaseEvent.ComponentIdentification.threadId
- Valor: Se establece al valor del nombre de hilo de la JVM
(Java™
Virtual Machine).
Defina este valor solo si el valor CommonBaseEvent.ComponentIdentification.threadId es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.ComponentIdentification.componentType
- Valor: http://www.ibm.com/namespaces/autonomic/WebSphereApplicationServer
Defina este valor solo si el valor CommonBaseEvent.ComponentIdentification.componentType es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.MsgDataElement.msgLocale
- Valor: Se define a partir del entorno local predeterminado de la JVM.
Defina este valor solo si el valor de CommonBaseEvent.msg es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.Situation.categoryName
- Valor: ReportSituation
Defina este valor solo si el valor de CommonBaseEvent.Situation es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.Situation.situationType.type
- Valor: ReportSituation
Defina este valor solo si el valor de CommonBaseEvent.Situation es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.Situation.situationType.reasoningScope
- Valor: EXTERNAL
Defina este valor solo si el valor de CommonBaseEvent.Situation es nulo antes de llamar el método completeEvent.
- CommonBaseEvent.Situation.situationType.reportCategory
- Valor: LOG
Defina este valor solo si el valor de CommonBaseEvent.Situation es nulo antes de llamar el método completeEvent.
El valor de surceComponentIdentification se rellena si no existe un ID de reporterComponentIdentification cuando se invoca el método completeEvent del manejador de contenido. En caso contrario, se rellena el ID de reporterComponentIdentification.