Logs API No-Op Implementation
状态: 稳定
OpenTelemetry 的用户需要一种方法来禁用 API 的实际操作。No-Op OpenTelemetry API 实现(以下简称 No-Op)为此功能提供了用户。它实现了 OpenTelemetry Logs API,因此不会产生任何遥测数据,并最大限度地减少计算资源。
所有语言的 OpenTelemetry 实现都必须提供 No-Op。
Logs API 定义了具有各种操作的组件。所有 No-Op 组件都不得持有配置或操作状态。所有 No-op 操作都必须接受所有定义的参数,不得验证收到的任何参数,并且不得返回任何非空错误或记录任何消息。
LoggerProvider
No-Op 必须允许创建多个 LoggerProviders。
由于所有 LoggerProviders 都持有相同的空状态,因此 No-Op 可以将相同的 LoggerProvider 实例提供给所有创建请求。
Logger 创建
新的 Logger 实例始终使用 LoggerProvider 创建。因此,LoggerProvider 必须允许创建 Logger。创建的所有 Logger 都必须是 No-Op Logger 的实例。
由于所有 Logger 都将持有相同的空状态,因此 LoggerProvider 可以将相同的 Logger 实例返回给所有创建请求。
Logger
Emit LogRecord
No-Op Logger 必须允许 emit LogRecords。
Enabled
始终必须返回 false。