Generate Common Base Event content with the default event factory
A default Common Base Event content handler populates Common Base Events with WebSphere® Application Server runtime information. This content handler can also use a Common Base Event template to populate Common Base Events.
// Get a named logger Logger logger = Logger.getLogger(To specify a Common Base Event template in the previous case, a Logger.properties file would need to be provided with an eventfactory entry for com.ibm.someLogger. If a valid template is found on the classpath, then the Logger's event factory will use the specified template's content in addition to the WebSphere Application Server runtime information when populating Common Base Events. If the template is not found on the classpath, or is invalid, then the Logger's event factory will only use the WebSphere Application Server runtime information when populating Common Base Events.com.ibm.someLogger); // Log to the logger -- implicitly the default content handler // will be associated with the CommonBaseEvent contained in the // CommonBaseEventLogRecord. logger.warning(MSG_KEY_001);
// Request the event factory from the global event factory home EventFactory eventFactory = EventFactoryContext.getInstance().getEventFactoryHome().getEventFactory(templateName); // Create a Common Base Event CommonBaseEvent commonBaseEvent = eventFactory.createCommonBaseEvent(); // Complete the Common Base Event using content from the template (if specified previously) // and the server runtime information. eventFactory.getContentHandler().completeEvent(commonBaseEvent);In the previous example, if the template referenced by templateName is found on the classpath, and the template is valid, then the event factory home will return an event factory which uses a content handler that combines the template's content with the WebSphere Application Server runtime information when populating Common Base Events. If the template is not found on the classpath, or is invalid, then the event factory home will return an event factory which uses a content handler that uses only the WebSphere Application Server runtime information when populating Common Base Events.
The default content handler populates Common Base Events in the server environment with the following runtime information:
- CommonBaseEvent.globalInstanceId
- Value: The unique_record_id
Set this value only if the CommonBaseEvent.globalInstanceId value is null before the completeEvent method is called.
- CommonBaseEvent.msg
- Value: A localized message that is based on the MsgDataElement
element.
Set this value only if the CommonBaseEvent.msg message is null before the completeEvent method is called.
- CommonBaseEvent.severity
- Value: Set based on the value of level set on the CommonBaseEventLogRecord
record, if level >= Level.SEVERE, set to
50; if level >= Level.WARNING, set to30; the default is set to10.Set this value only if the CommonBaseEvent.severity value is null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.component
- Value: Set based on the LoggerName value that is set on the CommonBaseEventLogRecord
record.
Set this value only if the CommonBaseEvent.ComponentIdentification.component is null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.componentIdType
- Value:
Unknown
Set this value only if the CommonBaseEvent.ComponentIdentification.componentIdType value is null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.executionEnvironment
- Value:
OSname[OSarch]#OSversionSet this value only if the CommonBaseEvent.ComponentIdentification.executionEnvironment value is null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.instanceId
- Value:
cellName\nodeName\serverNameSet this value only if the CommonBaseEvent.ComponentIdentification.instanceId value is null before the completeEvent method is called. Set only in a server environment because this value is ignored in a client application.
- CommonBaseEvent.ComponentIdentification.location
- Value:The host name
Set this value only if both the CommonBaseEvent.ComponentIdentification.location and the CommonBaseEvent.ComponentIdentification.locationType values are null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.locationType
- Value: The host name
Set this value only if both the CommonBaseEvent.ComponentIdentification.location and the CommonBaseEvent.ComponentIdentification.locationType values are null before the completeEvent method is called.
- CommonBaseEvent.ComponentIdentification.processId
- Value: An internally generated representation of the process number.
Set this value only if the CommonBaseEvent.ComponentIdentification.processId value is null before the completeEvent method is called
- CommonBaseEvent.ComponentIdentification.subComponent
- Value: Set based on values of the sourceClassName and the sourceMethodName
names that are set on the sourceClassName.sourceMethodName name of
the CommonBaseEventLogRecord record.
Set this value only if the CommonBaseEvent.ComponentIdentification.subComponent values is null before the completeEvent method is called and both the sourceClassName and the sourceMethodName names are set.
- CommonBaseEvent.ComponentIdentification.threadId
- Value: Set to the value of the Java™ Virtual
Machine (JVM) thread name.
Set this value only if the CommonBaseEvent.ComponentIdentification.threadId values is null before the completeEvent value is called.
- CommonBaseEvent.ComponentIdentification.componentType
- Value: https://www.ibm.com/namespaces/autonomic/WebSphereApplicationServer
Set this value only if the CommonBaseEvent.ComponentIdentification.componentType values is null before the completeEvent method is called.
- CommonBaseEvent.MsgDataElement.msgLocale
- Value: Set based on the default locale of the JVM.
Set this value only if the CommonBaseEvent.msg value is null before the completeEvent method is called.
- CommonBaseEvent.Situation.categoryName
- Value:
ReportSituationSet this value only if the CommonBaseEvent.Situation value is null before the completeEvent method is called.
- CommonBaseEvent.Situation.situationType.type
- Value:
ReportSituationSet this value only if the CommonBaseEvent.Situation value is null before the completeEvent method is called.
- CommonBaseEvent.Situation.situationType.reasoningScope
- Value: EXTERNAL
Set this value only if the CommonBaseEvent.Situation value is null before the completeEvent method is called.
- CommonBaseEvent.Situation.situationType.reportCategory
- Value: LOG
Set this value only if the CommonBaseEvent.Situation value is null before the completeEvent method is called.
The sourceComponentIdentification value is populated if no reporterComponentIdentification ID exists when the completeEvent method is invoked on the content handler. Otherwise, the reporterComponentIdentification ID is populated instead.