opentelemetry-java icon indicating copy to clipboard operation
opentelemetry-java copied to clipboard

Implement log appender / event api

Open jack-berg opened this issue 2 years ago • 0 comments

The spec is going to soon have a log appender / event API, in addition to the existing SDK.

To implement we need:

  • [x] Rename classes for alignment. We have LogEmitterProvider and LogEmitter right now, we're going to need LoggerProvider and Logger. The rename is going to sting quite a bit because stable artifacts like OpenTelemetrySdk have references to the old names. We justified this because although OpenTelemetrySdk is stable, you need to take a dependency on the log SDK in order to use the log portions of the API. We'll need to make one time exception rules for jApiCmp to pass. #4721
  • [ ] Break out :api:logs module, including interfaces like LoggerProvider, Logger, LogRecordBuilder, etc. #4764
  • [ ] Add GlobalLoggerProvider akin to the old GlobalMeterProvider, which will hold global reference while until log stability is reached and it can merge with GlobalOpenTelemetry. #4764
  • [ ] Extend API for events. Logger should have a logRecordBuilder() for use by log appenders, and eventBuilder(String name) for events.
  • [ ] Rename LogProcessor, *LogProcessor to LogRecordProcessor, *LogRecordProcessor.
  • [ ] Rename LogExporter, *LogExporter to LogRecordExporter, *LogRecordExporter.

When this is complete the instrumentation repo will be able to delete instrumentation-appender-api-internal and instrumentation-appender-sdk-internal 🎉.

jack-berg avatar Aug 22 '22 23:08 jack-berg