通用日志属性

状态: 开发中

本节描述的属性相当通用。它们可以应用于任何适用的日志记录。

定义了以下日志语义约定

  • 通用:描述日志记录的通用语义属性。
  • 异常:描述日志中异常的语义属性。

除了日志、事件跟踪指标的语义约定外,OpenTelemetry 还定义了具有自身资源语义约定的通用资源的概念。

通用日志标识属性

这些属性可用于标识日志记录。

Attributes

Stability需求级别Value Type描述Example Values
log.record.originalDevelopment选择加入字符串完整的原始日志记录。[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 happened
log.record.uidDevelopment选择加入字符串日志记录的唯一标识符。[2]01ARZ3NDEKTSV4RRFFQ69G5FAV

[1] log.record.original: 当处理最初作为字符串或等效数据类型传输的日志记录,并且日志记录的 Body 字段不包含相同值时,可以添加此值。(例如,syslog 或从文件中读取的日志记录。)

[2] log.record.uid: 如果提供了 ID,则具有相同 ID 的其他日志记录将被视为重复项,可以安全删除。这意味着两个可区分的日志记录必须具有不同的值。该 ID 可以是通用唯一字典序可排序标识符 (ULID),但也可以根据需要使用其他标识符(例如 UUID)。

日志介质

本节介绍 OpenTelemetry 中日志介质的属性。日志介质是日志传输的机制。介质类型包括文件、流、网络协议以及特定于操作系统的日志服务,例如 journald 和 Windows 事件日志。

注意: OpenTelemetry 规范定义了一个资源,即“生成遥测数据的实体的不可变表示”。以下属性并非描述生成遥测数据的实体。相反,它们描述了日志传输的机制。因此,应在适用时将它们记录为日志记录属性。不应将它们记录为资源属性。

日志文件

描述: 写入日志的文件。

Attributes

Stability需求级别Value Type描述Example Values
log.file.nameDevelopment推荐字符串文件的基本名称。audit.log
log.file.name_resolvedDevelopment选择加入字符串文件的基本名称,已解析符号链接。uuid.log
log.file.pathDevelopment选择加入字符串文件的完整路径。/var/log/mysql/audit.log
log.file.path_resolvedDevelopment选择加入字符串文件的完整路径,已解析符号链接。/var/lib/docker/uuid.log

I/O 流

描述: 写入日志的 I/O 流。

Attributes

Stability需求级别Value Type描述Example Values
log.iostreamDevelopment选择加入字符串与日志关联的流。请参阅下文以获取已知值的列表。stdout; stderr

log.iostream 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。

描述Stability
stderr来自 stderr 流的事件Development
stdout来自 stdout 流的日志Development