Skip to content

Commit 5fdbcbf

Browse files
Millionehawkw
andauthored
log: fix LogTracer not honoring max level filters (tokio-rs#1543)
Co-authored-by: Eliza Weisman <[email protected]>
1 parent 8f80a39 commit 5fdbcbf

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

Diff for: tracing-log/src/log_tracer.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,9 @@ impl log::Log for LogTracer {
183183
}
184184

185185
fn log(&self, record: &log::Record<'_>) {
186-
crate::dispatch_record(record);
186+
if self.enabled(record.metadata()) {
187+
crate::dispatch_record(record);
188+
}
187189
}
188190

189191
fn flush(&self) {}

Diff for: tracing-log/tests/log_tracer.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use std::sync::{Arc, Mutex};
22
use tracing::collect::with_default;
33
use tracing_core::span::{Attributes, Record};
4-
use tracing_core::{span, Collect, Event, Level, Metadata};
4+
use tracing_core::{span, Collect, Event, Level, LevelFilter, Metadata};
55
use tracing_log::{LogTracer, NormalizeEvent};
66

77
struct State {
@@ -26,6 +26,10 @@ impl Collect for TestSubscriber {
2626
true
2727
}
2828

29+
fn max_level_hint(&self) -> Option<LevelFilter> {
30+
Some(LevelFilter::from_level(Level::INFO))
31+
}
32+
2933
fn new_span(&self, _span: &Attributes<'_>) -> span::Id {
3034
span::Id::from_u64(42)
3135
}
@@ -67,6 +71,8 @@ fn normalized_metadata() {
6771
let state = me.clone();
6872

6973
with_default(TestSubscriber(me), || {
74+
log::info!("expected info log");
75+
log::debug!("unexpected debug log");
7076
let log = log::Record::builder()
7177
.args(format_args!("Error!"))
7278
.level(log::Level::Info)

0 commit comments

Comments
 (0)