5.5 LogRecord structure

This structured DataType describes the required information in a LogRecord. An array of this structure type is returned as a field in a structure in the LogObject GetRecords Method call.

The structure is formally defined in Table 8.

Table 8 – LogRecord structure
Name Type Description Optional
LogRecordStructureSubtype of Structure defined in OPC 10000-5

Time

0:DateTimeTime associated with this record.False

Severity

0:UInt16Is a number between 1 and 1000 inclusive and corresponds to the range provided in the OPC UA BaseEventType (see OPC 10000-3). Additional details for mapping of the severity defined for OPC BaseEvents to LogRecords is described in Table 9.False

EventType

0:NodeId

Describes the specific type of Event. It corresponds to the EventType field defined in BaseEventType.

If AdditionalData is provided then an EventType should be provided.

True

SourceNode

0:NodeIdIdentifies the Node this record originated from. If the LogRecord is not related to a specific Node then this shall be set to a null NodeId.. Additional rules may be defined by other specifications that utilize the LogObject.True

SourceName

0:StringProvides a description of the source of the LogRecord, this could be the string-part of the BrowseName of the SourceNode.True

Message

0:LocalizedTextProvides a human-readable and localizable text description of the occurrence that is being represented in the LogRecord.False

TraceContext

0:TraceContextDataTypeThis structure is used to correlate records inside of a Server along with corelating records between other Servers and Clients. The TraceContextDataType is described in 5.6.3.True

AdditionalData

0:NameValuePair[]Additional data for the log entry. This field contains the additional event fields of an LogEvent.True

Severity ranges for Alarms and alerts are discussed further in OPC 10000-9. Table 9 provides the Severity ranges that shall be used for LogRecords. Other specifications, vendors or end users may further subset these ranges or generate thier own names for the ranges. For example, the Emergency range described in SYSLOG is commonly used for process alarms and would have multiple sub ranges defined by end users. In the manufacturing industry, typically the SYSLOG Alert range would be considered as Warnings and the Emergency range would have been renamed Error and have multiple sub ranges (i.e. CriticalError, MiniorError...).

Table 9 – LogRecord Severity Mapping
Syslog Names Severity Range Diagnostics classification
Emergency401 – 1000Incidents that are potentially fatal to the overall process/system and need to be addressed immediately.
Alert300 – 400Incidents that affect the overall process/system and need to be addressed.
Critical251 – 300Incidents that could affect the overall process/system and needs to be addressed.
Error201 – 250Incidents that have negative effects but does not affect the overall process/system.
Warning151 – 200Incidents that should be noted but need not be addressed.
Notice101-150Significant or unusual or unexpected successful incident.
Information51-100General information.
Debug1-50Verbose tracing information that can be used to debug the flow of an application.

The LogRecord representation in the AddressSpace is formally defined in Table 10

Table 10 – LogRecord definition
Attribute Value
BrowseNameLogRecord
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Other
Subtype of the 0:Structure defined in OPC 10000-5
ConformanceUnits
LogObject Base