Skip to content

Commit 40db607

Browse files
committed
Rescue event_enabled impls from the rebase wastes
1 parent eb1dd70 commit 40db607

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

tracing-subscriber/src/subscribe/layered.rs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,10 @@ where
114114
}
115115

116116
fn event(&self, event: &Event<'_>) {
117-
self.inner.event(event);
118-
self.subscriber.on_event(event, self.ctx());
117+
if self.subscriber.event_enabled(event, self.ctx()) {
118+
self.inner.event(event);
119+
self.subscriber.on_event(event, self.ctx());
120+
}
119121
}
120122

121123
fn enter(&self, span: &span::Id) {
@@ -255,6 +257,17 @@ where
255257
self.subscriber.on_follows_from(span, follows, ctx);
256258
}
257259

260+
#[inline]
261+
fn event_enabled(&self, event: &Event<'_>, ctx: Context<'_, C>) -> bool {
262+
if self.subscriber.event_enabled(event, ctx.clone()) {
263+
// if the outer subscriber enables the event, ask the inner subscriber.
264+
self.inner.event_enabled(event, ctx)
265+
} else {
266+
// otherwise, the callsite is disabled by this subscriber
267+
false
268+
}
269+
}
270+
258271
#[inline]
259272
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, C>) {
260273
self.inner.on_event(event, ctx.clone());

tracing-subscriber/src/subscribe/mod.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1504,6 +1504,14 @@ where
15041504
}
15051505
}
15061506

1507+
#[inline]
1508+
fn event_enabled(&self, event: &Event<'_>, ctx: Context<'_, C>) -> bool {
1509+
match self {
1510+
Some(ref inner) => inner.event_enabled(event, ctx),
1511+
None => false,
1512+
}
1513+
}
1514+
15071515
#[inline]
15081516
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, C>) {
15091517
if let Some(ref inner) = self {
@@ -1583,6 +1591,11 @@ macro_rules! subscriber_impl_body {
15831591
self.deref().on_follows_from(span, follows, ctx)
15841592
}
15851593

1594+
#[inline]
1595+
fn event_enabled(&self, event: &Event<'_>, ctx: Context<'_, C>) -> bool {
1596+
self.deref().event_enabled(event, ctx)
1597+
}
1598+
15861599
#[inline]
15871600
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, C>) {
15881601
self.deref().on_event(event, ctx)

0 commit comments

Comments
 (0)