Skip to content

Commit 66579ac

Browse files
authored
fix: Change logger scope in log appender (#2796)
1 parent ad88615 commit 66579ac

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

opentelemetry-appender-log/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
## vNext
44

5+
- Similar to the `opentelemetry-appender-tracing` fix [2658](https://github.com/open-telemetry/opentelemetry-rust/issues/2658)
6+
InstrumentationScope(Logger) used by the appender now uses an empty ("") named Logger.
7+
Previously, a Logger with name and version of the crate was used.
8+
Receivers (processors, exporters) are expected to use `LogRecord.target()` as scope name.
9+
This is already done in OTLP Exporters, so this change should be transparent to most users.
10+
511
## 0.28.0
612

713
Released 2025-Feb-10

opentelemetry-appender-log/src/lib.rs

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
use log::{Level, Metadata, Record};
114114
use opentelemetry::{
115115
logs::{AnyValue, LogRecord, Logger, LoggerProvider, Severity},
116-
InstrumentationScope, Key,
116+
Key,
117117
};
118118
#[cfg(feature = "experimental_metadata_attributes")]
119119
use opentelemetry_semantic_conventions::attribute::{
@@ -189,12 +189,13 @@ where
189189
L: Logger + Send + Sync,
190190
{
191191
pub fn new(provider: &P) -> Self {
192-
let scope = InstrumentationScope::builder("opentelemetry-log-appender")
193-
.with_version(env!("CARGO_PKG_VERSION"))
194-
.build();
195-
196-
OpenTelemetryLogBridge {
197-
logger: provider.logger_with_scope(scope),
192+
Self {
193+
// Using empty scope name.
194+
// The name/version of this library itself can be added
195+
// as a Scope attribute once a semantic convention is
196+
// defined for the same.
197+
// See https://github.com/open-telemetry/semantic-conventions/issues/1550
198+
logger: provider.logger(""),
198199
_phantom: Default::default(),
199200
}
200201
}
@@ -985,9 +986,13 @@ mod tests {
985986
);
986987

987988
let logs = exporter.get_emitted_logs().unwrap();
989+
assert_eq!(logs.len(), 1);
990+
991+
let log = logs.first().unwrap();
992+
assert_eq!(log.instrumentation.name(), "");
988993

989994
let get = |needle: &str| -> Option<AnyValue> {
990-
logs[0].record.attributes_iter().find_map(|(k, v)| {
995+
log.record.attributes_iter().find_map(|(k, v)| {
991996
if k.as_str() == needle {
992997
Some(v.clone())
993998
} else {
@@ -1197,9 +1202,13 @@ mod tests {
11971202
);
11981203

11991204
let logs = exporter.get_emitted_logs().unwrap();
1205+
assert_eq!(logs.len(), 1);
1206+
1207+
let log = logs.first().unwrap();
1208+
assert_eq!(log.instrumentation.name(), "");
12001209

12011210
let get = |needle: &str| -> Option<AnyValue> {
1202-
logs[0].record.attributes_iter().find_map(|(k, v)| {
1211+
log.record.attributes_iter().find_map(|(k, v)| {
12031212
if k.as_str() == needle {
12041213
Some(v.clone())
12051214
} else {

0 commit comments

Comments
 (0)