Skip to content

Commit b573440

Browse files
author
Oliver Scherer
committed
Filter out log fields from messages
1 parent 73466c2 commit b573440

File tree

3 files changed

+26
-11
lines changed

3 files changed

+26
-11
lines changed

examples/basic.stdout

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
1:main│ │┌┘basic::conn peer_addr="8.8.8.8", port=18230
3535
1:main│ ├┘basic::server host="localhost", port=8080
3636
1:main│ ├─ms WARN basic internal error
37-
1:main│ ├─ms ERROR log this is a log message, log.target="basic", log.module_path="basic", log.file="examples/basic.rs", log.line=63
37+
1:main│ ├─ms ERROR basic this is a log message
3838
1:main│ ├─ms INFO basic exit
3939
1:main│┌┘basic::server host="localhost", port=8080
4040
1:main├┘basic::hierarchical-example version=0.1

src/format.rs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -189,14 +189,19 @@ pub struct FmtEvent<'a> {
189189
impl<'a> Visit for FmtEvent<'a> {
190190
fn record_debug(&mut self, field: &Field, value: &dyn fmt::Debug) {
191191
let buf = &mut self.bufs.current_buf;
192-
write!(buf, "{comma} ", comma = if self.comma { "," } else { "" },).unwrap();
193-
let name = field.name();
194-
if name == "message" {
195-
write!(buf, "{:?}", value).unwrap();
196-
self.comma = true;
197-
} else {
198-
write!(buf, "{}={:?}", name, value).unwrap();
199-
self.comma = true;
192+
let comma = if self.comma { "," } else { "" };
193+
match field.name() {
194+
"message" => {
195+
write!(buf, "{} {:?}", comma, value).unwrap();
196+
self.comma = true;
197+
}
198+
// Skip fields that are actually log metadata that have already been handled
199+
#[cfg(feature = "tracing-log")]
200+
name if name.starts_with("log.") => {}
201+
name => {
202+
write!(buf, "{} {}={:?}", comma, name, value).unwrap();
203+
self.comma = true;
204+
}
200205
}
201206
}
202207
}

src/lib.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ use tracing::{
1313
span::{Attributes, Id},
1414
Event, Subscriber,
1515
};
16+
#[cfg(feature = "tracing-log")]
17+
use tracing_log::NormalizeEvent;
1618
use tracing_subscriber::{
1719
fmt::MakeWriter,
1820
layer::{Context, Layer},
@@ -351,7 +353,15 @@ where
351353
)
352354
.expect("Unable to write to buffer");
353355
}
354-
let level = event.metadata().level();
356+
357+
#[cfg(feature = "tracing-log")]
358+
let normalized_meta = event.normalized_metadata();
359+
#[cfg(feature = "tracing-log")]
360+
let metadata = normalized_meta.as_ref().unwrap_or_else(|| event.metadata());
361+
#[cfg(not(feature = "tracing-log"))]
362+
let metadata = event.metadata();
363+
364+
let level = metadata.level();
355365
let level = if self.config.ansi {
356366
ColorLevel(level).to_string()
357367
} else {
@@ -360,7 +370,7 @@ where
360370
write!(&mut event_buf, "{level}", level = level).expect("Unable to write to buffer");
361371

362372
if self.config.targets {
363-
let target = event.metadata().target();
373+
let target = metadata.target();
364374
write!(
365375
&mut event_buf,
366376
" {}",

0 commit comments

Comments
 (0)