From d9591bd280d19d6c72aab4dd4c19e5ef16550ace Mon Sep 17 00:00:00 2001 From: CAD97 Date: Mon, 11 Apr 2022 18:09:01 -0500 Subject: [PATCH] Properly call Collect::event_enabled in more places --- tracing-core/src/collect.rs | 10 ++++++++++ tracing-core/src/dispatch.rs | 5 ++++- tracing-subscriber/src/fmt/mod.rs | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tracing-core/src/collect.rs b/tracing-core/src/collect.rs index 4a31be87a4..7189e3be87 100644 --- a/tracing-core/src/collect.rs +++ b/tracing-core/src/collect.rs @@ -642,6 +642,11 @@ impl Collect for alloc::boxed::Box { self.as_ref().record_follows_from(span, follows) } + #[inline] + fn event_enabled(&self, event: &Event<'_>) -> bool { + self.as_ref().event_enabled(event) + } + #[inline] fn event(&self, event: &Event<'_>) { self.as_ref().event(event) @@ -713,6 +718,11 @@ impl Collect for alloc::sync::Arc { self.as_ref().record_follows_from(span, follows) } + #[inline] + fn event_enabled(&self, event: &Event<'_>) -> bool { + self.as_ref().event_enabled(event) + } + #[inline] fn event(&self, event: &Event<'_>) { self.as_ref().event(event) diff --git a/tracing-core/src/dispatch.rs b/tracing-core/src/dispatch.rs index 345d053274..23ee7facf8 100644 --- a/tracing-core/src/dispatch.rs +++ b/tracing-core/src/dispatch.rs @@ -682,7 +682,10 @@ impl Dispatch { /// [`event`]: super::collect::Collect::event #[inline] pub fn event(&self, event: &Event<'_>) { - self.collector().event(event) + let collector = self.collector(); + if collector.event_enabled(event) { + collector.event(event); + } } /// Records that a span has been can_enter. diff --git a/tracing-subscriber/src/fmt/mod.rs b/tracing-subscriber/src/fmt/mod.rs index c0f962544f..d338b010ec 100644 --- a/tracing-subscriber/src/fmt/mod.rs +++ b/tracing-subscriber/src/fmt/mod.rs @@ -393,6 +393,11 @@ where self.inner.record_follows_from(span, follows) } + #[inline] + fn event_enabled(&self, event: &Event<'_>) -> bool { + self.inner.event_enabled(event) + } + #[inline] fn event(&self, event: &Event<'_>) { self.inner.event(event);