Skip to content

Commit b72c737

Browse files
lalitbcijothomas
authored andcommitted
Deprecate logger::provider() and logger::instrumentation_scope() (open-telemetry#2349)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
1 parent e7b1d86 commit b72c737

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

opentelemetry-sdk/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
- Bug fix: Empty Logger names are retained as-is instead of replacing with
2727
"rust.opentelemetry.io/sdk/logger"
2828
[#2316](https://github.com/open-telemetry/opentelemetry-rust/pull/2316)
29+
30+
- `Logger::provider`: This method is deprecated as of version `0.27.1`. To be removed in `0.28.0`.
31+
- `Logger::instrumentation_scope`: This method is deprecated as of version `0.27.1`. To be removed in `0.28.0`
32+
Migration Guidance:
33+
- These methods are intended for log appenders. Keep the clone of the provider handle, instead of depending on above methods.
34+
2935

3036
## 0.27.0
3137

opentelemetry-sdk/src/logs/log_emitter.rs

+14-11
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,19 @@ impl Logger {
238238
Logger { scope, provider }
239239
}
240240

241+
#[deprecated(
242+
since = "0.27.1",
243+
note = "This method was intended for appender developers, but has no defined use-case in typical workflows. It is deprecated and will be removed in the next major release."
244+
)]
241245
/// LoggerProvider associated with this logger.
242246
pub fn provider(&self) -> &LoggerProvider {
243247
&self.provider
244248
}
245249

250+
#[deprecated(
251+
since = "0.27.1",
252+
note = "This method was intended for appender developers, but has no defined use-case in typical workflows. It is deprecated and will be removed in the next major release."
253+
)]
246254
/// Instrumentation scope of this logger.
247255
pub fn instrumentation_scope(&self) -> &InstrumentationScope {
248256
&self.scope
@@ -258,7 +266,7 @@ impl opentelemetry::logs::Logger for Logger {
258266

259267
/// Emit a `LogRecord`.
260268
fn emit(&self, mut record: Self::LogRecord) {
261-
let provider = self.provider();
269+
let provider = &self.provider;
262270
let processors = provider.log_processors();
263271

264272
//let mut log_record = record;
@@ -277,22 +285,17 @@ impl opentelemetry::logs::Logger for Logger {
277285
}
278286

279287
for p in processors {
280-
p.emit(&mut record, self.instrumentation_scope());
288+
p.emit(&mut record, &self.scope);
281289
}
282290
}
283291

284292
#[cfg(feature = "spec_unstable_logs_enabled")]
285293
fn event_enabled(&self, level: Severity, target: &str) -> bool {
286-
let provider = self.provider();
294+
let provider = &self.provider;
287295

288296
let mut enabled = false;
289297
for processor in provider.log_processors() {
290-
enabled = enabled
291-
|| processor.event_enabled(
292-
level,
293-
target,
294-
self.instrumentation_scope().name().as_ref(),
295-
);
298+
enabled = enabled || processor.event_enabled(level, target, self.scope.name().as_ref());
296299
}
297300
enabled
298301
}
@@ -725,14 +728,14 @@ mod tests {
725728
emitted_logs[0].clone().record.body,
726729
Some(AnyValue::String("Testing empty logger name".into()))
727730
);
728-
assert_eq!(logger.instrumentation_scope().name(), "");
731+
assert_eq!(logger.scope.name(), "");
729732

730733
// Assert the second log created through the scope
731734
assert_eq!(
732735
emitted_logs[1].clone().record.body,
733736
Some(AnyValue::String("Testing empty logger scope name".into()))
734737
);
735-
assert_eq!(scoped_logger.instrumentation_scope().name(), "");
738+
assert_eq!(scoped_logger.scope.name(), "");
736739
}
737740

738741
#[derive(Debug)]

opentelemetry-sdk/src/logs/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ mod tests {
108108
}
109109

110110
#[test]
111+
#[allow(deprecated)]
111112
fn logger_attributes() {
112113
let provider = LoggerProvider::builder().build();
113114
let scope = InstrumentationScope::builder("test_logger")

0 commit comments

Comments
 (0)