|
46 | 46 |
|
47 | 47 | ## [opentelemetry-cpp API] |
48 | 48 |
|
49 | | -N/A |
| 49 | +### Deprecation of EventLogger |
| 50 | + |
| 51 | +#### Announcement (EventLogger) |
| 52 | + |
| 53 | +The `EventLogger` API was deprecated by: |
| 54 | + |
| 55 | +* [API] Deprecate event logger |
| 56 | + [#3285](https://github.com/open-telemetry/opentelemetry-cpp/pull/3285) |
| 57 | + |
| 58 | +on Feb 25, 2025, as published in release 1.20. |
| 59 | + |
| 60 | +#### Motivation (EventLogger) |
| 61 | + |
| 62 | +The specification for `EventLogger` was deprecated by: |
| 63 | + |
| 64 | +* Deprecate Event API and SDK in favor of Emit Event in the Log API |
| 65 | + [#4319](https://github.com/open-telemetry/opentelemetry-specification/pull/4319) |
| 66 | + |
| 67 | +The opentelemetry-cpp API and SDK deprecates the EventLogger to be aligned |
| 68 | +with the opentelemetry specification. |
| 69 | + |
| 70 | +#### Scope (EventLogger) |
| 71 | + |
| 72 | +The following classes or methods are deprecated in ABI version 1: |
| 73 | + |
| 74 | +* API |
| 75 | + * class opentelemetry::logs::EventLogger |
| 76 | + * class opentelemetry::logs::EventLoggerProvider |
| 77 | + * class opentelemetry::logs::NoopEventLogger |
| 78 | + * class opentelemetry::logs::NoopEventLoggerProvider |
| 79 | + * method opentelemetry::logs::Provider::GetEventLoggerProvider() |
| 80 | + * method opentelemetry::logs::Provider::SetEventLoggerProvider() |
| 81 | +* SDK |
| 82 | + * class opentelemetry::sdk::logs::EventLogger |
| 83 | + * class opentelemetry::sdk::logs::EventLoggerProvider |
| 84 | + * class opentelemetry::sdk::logs::EventLoggerProviderFactory |
| 85 | + |
| 86 | +The same are removed from ABI version 2. |
| 87 | + |
| 88 | +#### Mitigation (EventLogger) |
| 89 | + |
| 90 | +In respective order, the following should be used in place of `EventLogger`: |
| 91 | + |
| 92 | +* API |
| 93 | + * class opentelemetry::logs::Logger |
| 94 | + * class opentelemetry::logs::LoggerProvider |
| 95 | + * class opentelemetry::logs::NoopLogger |
| 96 | + * class opentelemetry::logs::NoopLoggerProvider |
| 97 | + * method opentelemetry::logs::Provider::GetLoggerProvider() |
| 98 | + * method opentelemetry::logs::Provider::SetLoggerProvider() |
| 99 | +* SDK |
| 100 | + * class opentelemetry::sdk::logs::Logger |
| 101 | + * class opentelemetry::sdk::logs::LoggerProvider |
| 102 | + * class opentelemetry::sdk::logs::LoggerProviderFactory |
| 103 | + |
| 104 | +Instrumented applications, that currently use |
| 105 | +`opentelemetry::logs::Provider::GetEventLoggerProvider()`, |
| 106 | +are strongly encouraged to migrate and use |
| 107 | +`opentelemetry::logs::Provider::GetLoggerProvider()` instead. |
| 108 | + |
| 109 | +Main applications, when installing and configuring an SDK, that currently use |
| 110 | +`opentelemetry::logs::Provider::SetEventLoggerProvider()`, |
| 111 | +are strongly encouraged to migrate and use |
| 112 | +`opentelemetry::logs::Provider::SetLoggerProvider()` instead. |
| 113 | + |
| 114 | +This migration can be implemented now, |
| 115 | +as `Logger` is available already in ABI version 1. |
| 116 | + |
| 117 | +This migration is mandatory and a pre requisite for adoption of ABI version 2 later. |
| 118 | + |
| 119 | +#### Planned removal (EventLogger) |
| 120 | + |
| 121 | +All the deprecated code is already removed from ABI version 2, since Feb |
| 122 | +2025. |
| 123 | + |
| 124 | +While EventLogger will not be removed from ABI version 1, |
| 125 | +the ABI version 1 itself will be deprecated and decommissioned in the long |
| 126 | +term, after ABI version 2 is declared stable. |
| 127 | + |
| 128 | +By the time only ABI version 2 is available and supported, |
| 129 | +any code still using the deprecated `EventLogger` will break. |
50 | 130 |
|
51 | 131 | ## [opentelemetry-cpp SDK] |
52 | 132 |
|
|
0 commit comments