通用日志属性
状态: 开发中
本节描述的属性相当通用。它们可以应用于任何适用的日志记录。
定义了以下日志语义约定
除了日志、事件、跟踪和指标的语义约定外,OpenTelemetry 还定义了具有自身资源语义约定的通用资源的概念。
通用日志标识属性
这些属性可用于标识日志记录。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
log.record.original | 选择加入 | 字符串 | 完整的原始日志记录。[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.uid | 选择加入 | 字符串 | 日志记录的唯一标识符。[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.name | 推荐 | 字符串 | 文件的基本名称。 | audit.log | |
log.file.name_resolved | 选择加入 | 字符串 | 文件的基本名称,已解析符号链接。 | uuid.log | |
log.file.path | 选择加入 | 字符串 | 文件的完整路径。 | /var/log/mysql/audit.log | |
log.file.path_resolved | 选择加入 | 字符串 | 文件的完整路径,已解析符号链接。 | /var/lib/docker/uuid.log |
I/O 流
描述: 写入日志的 I/O 流。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
log.iostream | 选择加入 | 字符串 | 与日志关联的流。请参阅下文以获取已知值的列表。 | stdout; stderr |
log.iostream 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以根据需要使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
stderr | 来自 stderr 流的事件 | |
stdout | 来自 stdout 流的日志 |