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

LogRecord

Structure

Subtype of Structure defined in OPC 10000-5

Time

0:DateTime

Time associated with this record.

False

Severity

0:UInt16

Is 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:NodeId

Identifies 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:String

Provides a description of the source of the LogRecord, this could be the string-part of the BrowseName of the SourceNode.

True

Message

0:LocalizedText

Provides a human-readable and localizable text description of the occurrence that is being represented in the LogRecord.

False

TraceContext

0:TraceContextDataType

This 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

Emergency

401 – 1000

Incidents that are potentially fatal to the overall process/system and need to be addressed immediately.

Alert

300 – 400

Incidents that affect the overall process/system and need to be addressed.

Critical

251 – 300

Incidents that could affect the overall process/system and needs to be addressed.

Error

201 – 250

Incidents that have negative effects but does not affect the overall process/system.

Warning

151 – 200

Incidents that should be noted but need not be addressed.

Notice

101-150

Significant or unusual or unexpected successful incident.

Information

51-100

General information.

Debug

1-50

Verbose 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

BrowseName

LogRecord

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:Structure defined in OPC 10000-5

ConformanceUnits

LogObject Base