Skip to content

Logs module #994

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

Fields

No fields configured for Feature.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions