From 2b22903fbaa1a18eac9231fe0d172c78ba142181 Mon Sep 17 00:00:00 2001 From: Odinson Date: Tue, 9 Sep 2025 13:39:03 +0530 Subject: [PATCH] fix: extra fields in logs (#8009) Potentially fixes #7995 changed `span_data` to a `HashMap` and added a new check to remove span fields whose base names are already present on the event. Co-Authored-By: PoulavBhowmick03 Co-Authored-By: Michael Sproul --- common/logging/src/tracing_logging_layer.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/common/logging/src/tracing_logging_layer.rs b/common/logging/src/tracing_logging_layer.rs index 27841cb7d8..923ac1758f 100644 --- a/common/logging/src/tracing_logging_layer.rs +++ b/common/logging/src/tracing_logging_layer.rs @@ -80,12 +80,11 @@ where event.record(&mut visitor); let mut span_data = Vec::new(); - if let Some(scope) = ctx.event_scope(event) { - for span in scope.from_root() { - if let Some(data) = span.extensions().get::() { - span_data.extend(data.fields.clone()); - } - } + if let Some(mut scope) = ctx.event_scope(event) + && let Some(span) = scope.next() + && let Some(data) = span.extensions().get::() + { + span_data.extend(data.fields.clone()); } // Remove ascii control codes from message.