Fix suppression of all console logs when trace_tracy is enabled (#6955)
# Objective Fixes #6862 (oh hey good catch @alice-i-cecile) Bevy was failing to print events from `info!()` and friends to the console if the `trace_tracy` feature was enabled. It shouldn't be doing that. ## Solution The problem was this per-layer filter that was added in #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 PR changes that filter to do what was probably intended in #4320: suppress ~any events more verbose than `ERROR` from `bevy_render::renderer`~ the one problematically noisy event, but allow anything else that already made it through the top-level filter_layer. Also, adds a comment to clarify the intent of that filter, since it's otherwise a bit opaque and required some research. --- ## Changelog Fixed a bug that hid console log messages when the `trace_tracy` feature was enabled.
This commit is contained in:
parent
150a3572bd
commit
cf480d939a
@ -154,10 +154,14 @@ impl Plugin for LogPlugin {
|
|||||||
let tracy_layer = tracing_tracy::TracyLayer::new();
|
let tracy_layer = tracing_tracy::TracyLayer::new();
|
||||||
|
|
||||||
let fmt_layer = tracing_subscriber::fmt::Layer::default();
|
let fmt_layer = tracing_subscriber::fmt::Layer::default();
|
||||||
|
|
||||||
|
// bevy_render::renderer logs a `tracy.frame_mark` event every frame
|
||||||
|
// at Level::INFO. Formatted logs should omit it.
|
||||||
#[cfg(feature = "tracing-tracy")]
|
#[cfg(feature = "tracing-tracy")]
|
||||||
let fmt_layer = fmt_layer.with_filter(
|
let fmt_layer =
|
||||||
tracing_subscriber::filter::Targets::new().with_target("tracy", Level::ERROR),
|
fmt_layer.with_filter(tracing_subscriber::filter::FilterFn::new(|meta| {
|
||||||
);
|
meta.fields().field("tracy.frame_mark").is_none()
|
||||||
|
}));
|
||||||
|
|
||||||
let subscriber = subscriber.with(fmt_layer);
|
let subscriber = subscriber.with(fmt_layer);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user