Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate logger::provider() and logger::instrumentation_scope() #2349

Merged
merged 8 commits into from
Nov 26, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
- Bug fix: Empty Logger names are retained as-is instead of replacing with
"rust.opentelemetry.io/sdk/logger"
[#2316](https://github.com/open-telemetry/opentelemetry-rust/pull/2316)

- `Logger::provider`: This method is deprecated as of version `0.27.1`. To be removed in `0.28.0`.
- `Logger::instrumentation_scope`: This method is deprecated as of version `0.27.1`. To be removed in `0.28.0`
Migration Guidance:
- These methods are intended for log appenders. Keep the clone of the provider handle, instead of depending on above methods.


## 0.27.0

Expand Down
25 changes: 14 additions & 11 deletions opentelemetry-sdk/src/logs/log_emitter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -238,11 +238,19 @@ impl Logger {
Logger { scope, provider }
}

#[deprecated(
since = "0.27.1",
note = "This method is 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."
)]
/// LoggerProvider associated with this logger.
pub fn provider(&self) -> &LoggerProvider {
&self.provider
}

#[deprecated(
since = "0.27.1",
note = "This method is 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."
)]
/// Instrumentation scope of this logger.
pub fn instrumentation_scope(&self) -> &InstrumentationScope {
&self.scope
Expand All @@ -258,7 +266,7 @@ impl opentelemetry::logs::Logger for Logger {

/// Emit a `LogRecord`.
fn emit(&self, mut record: Self::LogRecord) {
let provider = self.provider();
let provider = &self.provider;
let processors = provider.log_processors();

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

for p in processors {
p.emit(&mut record, self.instrumentation_scope());
p.emit(&mut record, &self.scope);
}
}

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

let mut enabled = false;
for processor in provider.log_processors() {
enabled = enabled
|| processor.event_enabled(
level,
target,
self.instrumentation_scope().name().as_ref(),
);
enabled = enabled || processor.event_enabled(level, target, self.scope.name().as_ref());
}
enabled
}
Expand Down Expand Up @@ -725,14 +728,14 @@ mod tests {
emitted_logs[0].clone().record.body,
Some(AnyValue::String("Testing empty logger name".into()))
);
assert_eq!(logger.instrumentation_scope().name(), "");
assert_eq!(logger.scope.name(), "");

// Assert the second log created through the scope
assert_eq!(
emitted_logs[1].clone().record.body,
Some(AnyValue::String("Testing empty logger scope name".into()))
);
assert_eq!(scoped_logger.instrumentation_scope().name(), "");
assert_eq!(scoped_logger.scope.name(), "");
}

#[derive(Debug)]
Expand Down
1 change: 1 addition & 0 deletions opentelemetry-sdk/src/logs/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ mod tests {
}

#[test]
#[allow(deprecated)]
fn logger_attributes() {
let provider = LoggerProvider::builder().build();
let scope = InstrumentationScope::builder("test_logger")
Expand Down
Loading