Skip to content

Commit 52c95e0

Browse files
committed
Fix suppression of all console logs when trace_tracy is enabled
Bevy was failing to print events from `info!()` and friends to the console if the `trace_tracy` feature was enabled. The problem was this per-layer filter that was added in bevyengine#4320 to suppress a noisy per-frame event (which Tracy requires in order to properly close out a frame): - The problem event's target was `"bevy_render::renderer"`, not `"tracy"`. - So, the filter wasn't specifically targeting the noisy event. - Without a default, `tracing_subscriber::filter::Targets` will remove _everything_ that doesn't match an explicit target rule. - So, the filter _was_ silencing the noisy event, along with everything else. This commit changes that filter to do what was probably intended in bevyengine#4320: suppress any events more verbose than `ERROR` from `bevy_render::renderer`, but allow anything else that already made it through the top-level filter_layer.
1 parent bad3d57 commit 52c95e0

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

crates/bevy_log/src/lib.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,14 @@ impl Plugin for LogPlugin {
154154
let tracy_layer = tracing_tracy::TracyLayer::new();
155155

156156
let fmt_layer = tracing_subscriber::fmt::Layer::default();
157+
158+
// bevy_render::renderer logs a `tracy.frame_mark` event every frame
159+
// at Level::INFO. Formatted logs should omit it.
157160
#[cfg(feature = "tracing-tracy")]
158161
let fmt_layer = fmt_layer.with_filter(
159-
tracing_subscriber::filter::Targets::new().with_target("tracy", Level::ERROR),
162+
tracing_subscriber::filter::Targets::new()
163+
.with_target("bevy_render::renderer", Level::ERROR)
164+
.with_default(Level::TRACE),
160165
);
161166

162167
let subscriber = subscriber.with(fmt_layer);

0 commit comments

Comments
 (0)