Skip to content

Logs module #994

@iRevive

Description

@iRevive

Warning

The purpose of this feature is to provide a way to bridge logs from logging frameworks (odin, log4cats, etc) into OpenTelemetry. This is not a logging API.

The specification:

Log example Image

Prerequistes

Before moving forward with a specific implementation, we must ensure the API is compatible with a Scala logging framework, such as:

The scope

core

  • Define LoggerProvider, LoggerBuilder, Logger, and LogRecordBuilder in the new core-logs module

OtelJava

  • Provide OtelJava bindings in the oteljava-logs module
  • Provide OtelJava testkit binding in the oteljava-logs-testkit module

SDK

  • Implement SDK models, such as SdkLoggerProvider, SdkLogger, and so on, in the sdk-logs module
  • Implement LogRecordExporter and ConsoleLogRecordExporter
  • Implement LogRecordProcessor, BatchLogRecordProcessor, and SimpleLogRecordProcessor
  • Implement autoconfigure instances

SDK exporter

  • Implement LogsProtoEncoder in the sdk-exporter-logs module
  • Implement OtlpLogRecordExporter
  • Implement autoconfigure instances

SDK testkit

  • Implement testkit in the sdk-logs-testkit module

Release

  • Remove NoPublishPlugin from the logs modules
  • Remove mimaPreviousArtifacts from the logs modules
  • Make sure all modules are correctly linked
  • Bump tlBaseVersion

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions