6.4. Logs

Observability Framework stores the log messages generated by Connext applications and stores them in a third-party backend for analysis.

Log messages generated before Observability Library is enabled are not stored.

Each log message is divided into three parts to facilitate analysis, as illustrated in Figure 6.1.

Log Message Format

Figure 6.1 Log Message Format

This release only supports MIDDLEWARE as a Syslog Facility. Future releases will also provide support for SECURITY, SERVICE, and USER.

Syslog Level can have the following values: EMERGENCY, ERROR, WARNING, INFORMATIONAL, or DEBUG.

The mapping between Connext Log Levels and Syslog Levels is as follows:

Table 6.17 Log Level Mapping

NDDS_Config_LogLevel

Syslog Level

Minimum Syslog Verbosity that lets the message pass through

NDDS_CONFIG_LOG_LEVEL_FATAL_ERROR

EMERGENCY

ERROR

NDDS_CONFIG_LOG_LEVEL_ERROR

ERROR

ERROR

NDDS_CONFIG_LOG_LEVEL_WARNING

WARNING

WARNING

NDDS_CONFIG_LOG_LEVEL_STATUS_LOCAL

INFORMATIONAL

INFORMATIONAL

NDDS_CONFIG_LOG_LEVEL_STATUS_REMOTE

INFORMATIONAL

INFORMATIONAL

NDDS_CONFIG_LOG_LEVEL_DEBUG

DEBUG

DEBUG

Note

In the current release, it is not possible to filter only emergency (NDDS_CONFIG_LOG_LEVEL_FATAL_ERROR) log messages from Observability Dashboards.

The Activity Context provides context for the log message associated with it. The information provided by the activity context includes a sequence of activities and resources to which the activities apply. Comparing the Activity Context to traces and spans in OpenTelemetry, you can think of the activity context as a trace and the individual activities within the activity context as spans within the trace. For additional information on the Activity Context, see Format of Logged Messages in the RTI Connext Core Libraries User’s Manual.

The Activity Context is available by default in all log messages generated by a Connext application. However, you can disable this information by using the APIs in the C language binding: see NDDS_Config_Logger_set_print_format and NDDS_Config_Logger_set_print_format_by_log_level. The same APIs are available in other language bindings.