Skip to content

Commit 5834cde

Browse files
committed
switch macro impl to all being enabled
1 parent 1a96073 commit 5834cde

File tree

2 files changed

+77
-54
lines changed

2 files changed

+77
-54
lines changed

tracing/src/macros.rs

Lines changed: 73 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -801,6 +801,48 @@ macro_rules! event {
801801
);
802802
}
803803

804+
/// The same as [`enabled!`], but queries subscribers specifically for an event,
805+
/// whereas [`enabled!`] queries for an event _or_ span.
806+
///
807+
/// See also [`span_enabled!`].
808+
///
809+
/// # Examples
810+
///
811+
/// ```rust
812+
/// # use tracing::{event_enabled, Level};
813+
/// if event_enabled!(target: "my_crate", Level::DEBUG) {
814+
/// // some expensive work...
815+
/// }
816+
/// ```
817+
///
818+
#[macro_export]
819+
macro_rules! event_enabled {
820+
($($rest:tt)*)=> (
821+
$crate::enabled!(kind: $crate::metadata::Kind::EVENT.hint(), $($rest)*)
822+
)
823+
}
824+
825+
/// The same as [`enabled!`], but queries subscribers specifically for an span,
826+
/// whereas [`enabled!`] queries for an event _or_ span.
827+
///
828+
/// See also [`event_enabled!`].
829+
///
830+
/// # Examples
831+
///
832+
/// ```rust
833+
/// # use tracing::{span_enabled, Level};
834+
/// if span_enabled!(target: "my_crate", Level::DEBUG) {
835+
/// // some expensive work...
836+
/// }
837+
/// ```
838+
///
839+
#[macro_export]
840+
macro_rules! span_enabled {
841+
($($rest:tt)*)=> (
842+
$crate::enabled!(kind: $crate::metadata::Kind::SPAN.hint(), $($rest)*)
843+
)
844+
}
845+
804846
/// Checks whether a span or event is [enabled] based on the provided [metadata].
805847
///
806848
/// [enabled]: crate::Collect::enabled
@@ -892,56 +934,6 @@ macro_rules! event {
892934
///
893935
#[macro_export]
894936
macro_rules! enabled {
895-
($($rest:tt)*)=> (
896-
$crate::_enabled!(kind: { $crate::metadata::Kind::HINT }, $($rest)*)
897-
)
898-
}
899-
900-
/// The same as [`enabled!`], but queries subscribers specifically for an event,
901-
/// whereas [`enabled!`] queries for an event _or_ span.
902-
///
903-
/// See also [`span_enabled!`].
904-
///
905-
/// # Examples
906-
///
907-
/// ```rust
908-
/// # use tracing::{event_enabled, Level};
909-
/// if event_enabled!(target: "my_crate", Level::DEBUG) {
910-
/// // some expensive work...
911-
/// }
912-
/// ```
913-
///
914-
#[macro_export]
915-
macro_rules! event_enabled {
916-
($($rest:tt)*)=> (
917-
$crate::_enabled!(kind: $crate::metadata::Kind::EVENT.hint(), $($rest)*)
918-
)
919-
}
920-
921-
/// The same as [`enabled!`], but queries subscribers specifically for an span,
922-
/// whereas [`enabled!`] queries for an event _or_ span.
923-
///
924-
/// See also [`event_enabled!`].
925-
///
926-
/// # Examples
927-
///
928-
/// ```rust
929-
/// # use tracing::{span_enabled, Level};
930-
/// if span_enabled!(target: "my_crate", Level::DEBUG) {
931-
/// // some expensive work...
932-
/// }
933-
/// ```
934-
///
935-
#[macro_export]
936-
macro_rules! span_enabled {
937-
($($rest:tt)*)=> (
938-
$crate::_enabled!(kind: $crate::metadata::Kind::SPAN.hint(), $($rest)*)
939-
)
940-
}
941-
942-
#[doc(hidden)]
943-
#[macro_export]
944-
macro_rules! _enabled {
945937
(kind: $kind:expr, target: $target:expr, $lvl:expr, { $($fields:tt)* } )=> ({
946938
if $crate::level_enabled!($lvl) {
947939
use $crate::__macro_support::Callsite as _;
@@ -970,30 +962,57 @@ macro_rules! _enabled {
970962
});
971963
// Just target and level
972964
(kind: $kind:expr, target: $target:expr, $lvl:expr ) => (
973-
$crate::_enabled!(kind: $kind, target: $target, $lvl, { })
965+
$crate::enabled!(kind: $kind, target: $target, $lvl, { })
966+
);
967+
(target: $target:expr, $lvl:expr ) => (
968+
$crate::enabled!(kind: $crate::metadata::Kind::HINT, target: $target, $lvl, { })
974969
);
975970

976971
// These two cases handle fields with no values
977972
(kind: $kind:expr, target: $target:expr, $lvl:expr, $($field:tt)*) => (
978-
$crate::_enabled!(
973+
$crate::enabled!(
979974
kind: $kind,
980975
target: $target,
981976
$lvl,
982977
{ $($field)*}
983978
)
984979
);
980+
(target: $target:expr, $lvl:expr, $($field:tt)*) => (
981+
$crate::enabled!(
982+
kind: $crate::metadata::Kind::HINT,
983+
target: $target,
984+
$lvl,
985+
{ $($field)*}
986+
)
987+
);
988+
989+
// Level and field case
985990
(kind: $kind:expr, $lvl:expr, $($field:tt)*) => (
986-
$crate::_enabled!(
991+
$crate::enabled!(
987992
kind: $kind,
988993
target: module_path!(),
989994
$lvl,
990995
{ $($field)*}
991996
)
992997
);
993998

999+
// Simplest `enabled!` case
9941000
// Simplest `enabled!` case
9951001
(kind: $kind:expr, $lvl:expr ) => (
996-
$crate::_enabled!(kind: $kind, target: module_path!(), $lvl, { })
1002+
$crate::enabled!(kind: $kind, target: module_path!(), $lvl, { })
1003+
);
1004+
($lvl:expr ) => (
1005+
$crate::enabled!(kind: $crate::metadata::Kind::HINT, target: module_path!(), $lvl, { })
1006+
);
1007+
1008+
// Fallthrough from above
1009+
($lvl:expr, $($field:tt)*) => (
1010+
$crate::enabled!(
1011+
kind: $crate::metadata::Kind::HINT,
1012+
target: module_path!(),
1013+
$lvl,
1014+
{ $($field)*}
1015+
)
9971016
);
9981017
}
9991018

tracing/tests/macros.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,10 @@ fn enabled() {
349349

350350
span_enabled!(target: "rando", Level::DEBUG, field);
351351
event_enabled!(target: "rando", Level::DEBUG, field);
352+
353+
// other cases
354+
span_enabled!(Level::DEBUG);
355+
span_enabled!(Level::DEBUG, foo, bar.baz, quux,);
352356
}
353357

354358
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]

0 commit comments

Comments
 (0)