@@ -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]
894936macro_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
0 commit comments