General Logs Attributes

Status: Experimental

The attributes described in this section are rather generic. They may be used in any Log Record they apply to.

The following semantic conventions for logs are defined:

  • General: General semantic attributes that may be used in describing Log Records.
  • Exceptions: Semantic attributes that may be used in describing exceptions in logs.
  • Feature Flags: Semantic attributes that may be used in describing feature flag evaluations in logs.

Apart from semantic conventions for logs, events, traces, and metrics, OpenTelemetry also defines the concept of overarching Resources with their own Resource Semantic Conventions.

General log identification attributes

These attributes may be used for identifying a Log Record.

AttributeTypeDescriptionExamplesRequirement LevelStability
log.record.originalstringThe complete original Log Record. [1]77 <86>1 2015-08-06T21:58:59.694Z 192.168.2.133 inactive - - - Something happened; [INFO] 8/3/24 12:34:56 Something happenedOpt-InExperimental
log.record.uidstringA unique identifier for the Log Record. [2]01ARZ3NDEKTSV4RRFFQ69G5FAVOpt-InExperimental

[1] log.record.original: This value MAY be added when processing a Log Record which was originally transmitted as a string or equivalent data type AND the Body field of the Log Record does not contain the same value. (e.g. a syslog or a log record read from a file.)

[2] log.record.uid: If an id is provided, other log records with the same id will be considered duplicates and can be removed safely. This means, that two distinguishable log records MUST have different values. The id MAY be an Universally Unique Lexicographically Sortable Identifier (ULID), but other identifiers (e.g. UUID) may be used as needed.

Log Media

This section describes attributes for log media in OpenTelemetry. Log media are mechanisms by which logs are transmitted. Types of media include files, streams, network protocols, and os-specific logging services such as journald and Windows Event Log.

Note: The OpenTelemetry specification defines a Resource as an immutable representation of the entity producing telemetry. The following attributes do not describe entities that produce telemetry. Rather, they describe mechanisms of log transmission. As such, these should be recorded as Log Record attributes when applicable. They should not be recorded as Resource attributes.

Log File

Description: A file to which log was emitted.

AttributeTypeDescriptionExamplesRequirement LevelStability
log.file.namestringThe basename of the file.audit.logRecommendedExperimental
log.file.name_resolvedstringThe basename of the file, with symlinks resolved.uuid.logOpt-InExperimental
log.file.pathstringThe full path to the file./var/log/mysql/audit.logOpt-InExperimental
log.file.path_resolvedstringThe full path to the file, with symlinks resolved./var/lib/docker/uuid.logOpt-InExperimental

I/O Stream

Description: The I/O stream to which the log was emitted.

AttributeTypeDescriptionExamplesRequirement LevelStability
log.iostreamstringThe stream associated with the log. See below for a list of well-known values.stdout; stderrOpt-InExperimental

log.iostream has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
stderrEvents from stderr streamExperimental
stdoutLogs from stdout streamExperimental