mirror of
https://github.com/tokio-rs/tracing.git
synced 2025-09-29 05:52:37 +00:00
tracing: allow setting event names in macros (#2699)
## Motivation The motivation is #1426. Currently, event names are set to a default value of `event file:line`, which (1) doesn't allow for customization, and (2) prevents events from working for some opentelemetry endpoints (they often use the event name `exception` to designate something like a panic). ## Solution Went through the event macros, and added new parameterization that allows for setting the `name`. In addition, added some comments, and reordering, to make life a bit better for the next person that comes along to edit those macros. Finally, added tests for the macro expansion alongside the existing tests with a reasonable amount of coverage (though, admittedly, more could be added for all of the macro invocation types Fixes #1426
This commit is contained in:
parent
1771128aea
commit
b8180dd886
@ -214,7 +214,7 @@
|
||||
//! ### Configuring Attributes
|
||||
//!
|
||||
//! Both macros require a [`Level`] specifying the verbosity of the span or
|
||||
//! event. Optionally, the [target] and [parent span] may be overridden. If the
|
||||
//! event. Optionally, the, [target] and [parent span] may be overridden. If the
|
||||
//! target and parent span are not overridden, they will default to the
|
||||
//! module path where the macro was invoked and the current span (as determined
|
||||
//! by the subscriber), respectively.
|
||||
@ -237,7 +237,16 @@
|
||||
//! ```
|
||||
//!
|
||||
//! The span macros also take a string literal after the level, to set the name
|
||||
//! of the span.
|
||||
//! of the span (as above). In the case of the event macros, the name of the event can
|
||||
//! be overridden (the default is `event file:line`) using the `name:` specifier.
|
||||
//!
|
||||
//! ```
|
||||
//! # use tracing::{span, event, Level};
|
||||
//! # fn main() {
|
||||
//! span!(Level::TRACE, "my span");
|
||||
//! event!(name: "some_info", Level::INFO, "something has happened!");
|
||||
//! # }
|
||||
//! ```
|
||||
//!
|
||||
//! ### Recording Fields
|
||||
//!
|
||||
|
@ -564,6 +564,7 @@ macro_rules! error_span {
|
||||
/// "App warning: {}",
|
||||
/// error
|
||||
/// );
|
||||
/// event!(name: "answer", Level::INFO, the_answer = data.0);
|
||||
/// event!(Level::INFO, the_answer = data.0);
|
||||
/// # }
|
||||
/// ```
|
||||
@ -582,6 +583,112 @@ macro_rules! error_span {
|
||||
// /// ```
|
||||
#[macro_export]
|
||||
macro_rules! event {
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! {
|
||||
name: $name,
|
||||
kind: $crate::metadata::Kind::EVENT,
|
||||
target: $target,
|
||||
level: $lvl,
|
||||
fields: $($fields)*
|
||||
};
|
||||
|
||||
let enabled = $crate::level_enabled!($lvl) && {
|
||||
let interest = CALLSITE.interest();
|
||||
!interest.is_never() && CALLSITE.is_enabled(interest)
|
||||
};
|
||||
if enabled {
|
||||
(|value_set: $crate::field::ValueSet| {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&value_set
|
||||
);
|
||||
let meta = CALLSITE.metadata();
|
||||
// event with explicit parent
|
||||
$crate::Event::child_of(
|
||||
$parent,
|
||||
meta,
|
||||
&value_set
|
||||
);
|
||||
})($crate::valueset!(CALLSITE.metadata().fields(), $($fields)*));
|
||||
} else {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&$crate::valueset!(CALLSITE.metadata().fields(), $($fields)*)
|
||||
);
|
||||
}
|
||||
});
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
name: $name,
|
||||
target: $target,
|
||||
parent: $parent,
|
||||
$lvl,
|
||||
{ message = format_args!($($arg)+), $($fields)* }
|
||||
)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $lvl:expr, $($k:ident).+ = $($fields:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $lvl, { $($k).+ = $($fields)* })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $lvl:expr, $($arg:tt)+) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! {
|
||||
name: $name,
|
||||
kind: $crate::metadata::Kind::EVENT,
|
||||
target: $target,
|
||||
level: $lvl,
|
||||
fields: $($fields)*
|
||||
};
|
||||
let enabled = $crate::level_enabled!($lvl) && {
|
||||
let interest = CALLSITE.interest();
|
||||
!interest.is_never() && CALLSITE.is_enabled(interest)
|
||||
};
|
||||
if enabled {
|
||||
(|value_set: $crate::field::ValueSet| {
|
||||
let meta = CALLSITE.metadata();
|
||||
// event with contextual parent
|
||||
$crate::Event::dispatch(
|
||||
meta,
|
||||
&value_set
|
||||
);
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&value_set
|
||||
);
|
||||
})($crate::valueset!(CALLSITE.metadata().fields(), $($fields)*));
|
||||
} else {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&$crate::valueset!(CALLSITE.metadata().fields(), $($fields)*)
|
||||
);
|
||||
}
|
||||
});
|
||||
(name: $name:expr, target: $target:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
name: $name,
|
||||
target: $target,
|
||||
$lvl,
|
||||
{ message = format_args!($($arg)+), $($fields)* }
|
||||
)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $lvl:expr, $($k:ident).+ = $($fields:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $lvl, { $($k).+ = $($fields)* })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $lvl:expr, $($arg:tt)+) => (
|
||||
$crate::event!(name: $name, target: $target, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::callsite::DefaultCallsite = $crate::callsite2! {
|
||||
@ -624,7 +731,6 @@ macro_rules! event {
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
(target: $target:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: $target,
|
||||
@ -639,6 +745,111 @@ macro_rules! event {
|
||||
(target: $target:expr, parent: $parent:expr, $lvl:expr, $($arg:tt)+) => (
|
||||
$crate::event!(target: $target, parent: $parent, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! {
|
||||
name: $name,
|
||||
kind: $crate::metadata::Kind::EVENT,
|
||||
target: module_path!(),
|
||||
level: $lvl,
|
||||
fields: $($fields)*
|
||||
};
|
||||
|
||||
let enabled = $crate::level_enabled!($lvl) && {
|
||||
let interest = CALLSITE.interest();
|
||||
!interest.is_never() && CALLSITE.is_enabled(interest)
|
||||
};
|
||||
if enabled {
|
||||
(|value_set: $crate::field::ValueSet| {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&value_set
|
||||
);
|
||||
let meta = CALLSITE.metadata();
|
||||
// event with explicit parent
|
||||
$crate::Event::child_of(
|
||||
$parent,
|
||||
meta,
|
||||
&value_set
|
||||
);
|
||||
})($crate::valueset!(CALLSITE.metadata().fields(), $($fields)*));
|
||||
} else {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&$crate::valueset!(CALLSITE.metadata().fields(), $($fields)*)
|
||||
);
|
||||
}
|
||||
});
|
||||
(name: $name:expr, parent: $parent:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
name: $name,
|
||||
parent: $parent,
|
||||
$lvl,
|
||||
{ message = format_args!($($arg)+), $($fields)* }
|
||||
)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $lvl:expr, $($k:ident).+ = $($fields:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $lvl, { $($k).+ = $($fields)* })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $lvl:expr, $($arg:tt)+) => (
|
||||
$crate::event!(name: $name, parent: $parent, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::__macro_support::MacroCallsite = $crate::callsite2! {
|
||||
name: $name,
|
||||
kind: $crate::metadata::Kind::EVENT,
|
||||
target: module_path!(),
|
||||
level: $lvl,
|
||||
fields: $($fields)*
|
||||
};
|
||||
let enabled = $crate::level_enabled!($lvl) && {
|
||||
let interest = CALLSITE.interest();
|
||||
!interest.is_never() && CALLSITE.is_enabled(interest)
|
||||
};
|
||||
if enabled {
|
||||
(|value_set: $crate::field::ValueSet| {
|
||||
let meta = CALLSITE.metadata();
|
||||
// event with contextual parent
|
||||
$crate::Event::dispatch(
|
||||
meta,
|
||||
&value_set
|
||||
);
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&value_set
|
||||
);
|
||||
})($crate::valueset!(CALLSITE.metadata().fields(), $($fields)*));
|
||||
} else {
|
||||
$crate::__tracing_log!(
|
||||
$lvl,
|
||||
CALLSITE,
|
||||
&$crate::valueset!(CALLSITE.metadata().fields(), $($fields)*)
|
||||
);
|
||||
}
|
||||
});
|
||||
(name: $name:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
name: $name,
|
||||
$lvl,
|
||||
{ message = format_args!($($arg)+), $($fields)* }
|
||||
)
|
||||
);
|
||||
(name: $name:expr, $lvl:expr, $($k:ident).+ = $($fields:tt)* ) => (
|
||||
$crate::event!(name: $name, $lvl, { $($k).+ = $($fields)* })
|
||||
);
|
||||
(name: $name:expr, $lvl:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, $lvl:expr, { $($fields:tt)* } )=> ({
|
||||
use $crate::__macro_support::Callsite as _;
|
||||
static CALLSITE: $crate::callsite::DefaultCallsite = $crate::callsite2! {
|
||||
@ -692,6 +903,8 @@ macro_rules! event {
|
||||
(target: $target:expr, $lvl:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -751,6 +964,8 @@ macro_rules! event {
|
||||
(parent: $parent:expr, $lvl:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: module_path!(), parent: $parent, $lvl, { $($arg)+ })
|
||||
);
|
||||
|
||||
// ...
|
||||
( $lvl:expr, { $($fields:tt)* }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1081,10 +1296,46 @@ macro_rules! enabled {
|
||||
/// if pos.x >= 0.0 { "positive" } else { "negative" },
|
||||
/// if pos.y >= 0.0 { "positive" } else { "negative" }
|
||||
/// );
|
||||
/// trace!(name: "completed", position = ?pos);
|
||||
/// # }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! trace {
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
@ -1100,6 +1351,59 @@ macro_rules! trace {
|
||||
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::TRACE, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::TRACE, { $($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::TRACE, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::TRACE, { %$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1166,21 +1470,8 @@ macro_rules! trace {
|
||||
$($arg)+
|
||||
)
|
||||
);
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::TRACE, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// ...
|
||||
({ $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1196,6 +1487,20 @@ macro_rules! trace {
|
||||
{ $($k).+ = $($field)*}
|
||||
)
|
||||
);
|
||||
(?$($k:ident).+ = $($field:tt)*) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
$crate::Level::TRACE,
|
||||
{ ?$($k).+ = $($field)*}
|
||||
)
|
||||
);
|
||||
(%$($k:ident).+ = $($field:tt)*) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
$crate::Level::TRACE,
|
||||
{ %$($k).+ = $($field)*}
|
||||
)
|
||||
);
|
||||
($($k:ident).+, $($field:tt)*) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1268,10 +1573,46 @@ macro_rules! trace {
|
||||
///
|
||||
/// debug!(?pos.x, ?pos.y);
|
||||
/// debug!(target: "app_events", position = ?pos, "New position");
|
||||
/// debug!(name: "completed", position = ?pos);
|
||||
/// # }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! debug {
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
@ -1287,6 +1628,59 @@ macro_rules! debug {
|
||||
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::DEBUG, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::DEBUG, { $($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::DEBUG, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::DEBUG, { %$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1353,21 +1747,8 @@ macro_rules! debug {
|
||||
$($arg)+
|
||||
)
|
||||
);
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::DEBUG, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// ...
|
||||
({ $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1480,11 +1861,47 @@ macro_rules! debug {
|
||||
/// conn.port,
|
||||
/// ?conn.speed,
|
||||
/// );
|
||||
/// info!(name: "completed", "completed connection to {:?}", addr);
|
||||
/// # }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! info {
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
@ -1499,6 +1916,59 @@ macro_rules! info {
|
||||
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::INFO, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::INFO, { $($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::INFO, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::INFO, { %$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1565,21 +2035,8 @@ macro_rules! info {
|
||||
$($arg)+
|
||||
)
|
||||
);
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::INFO, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// ...
|
||||
({ $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1685,11 +2142,47 @@ macro_rules! info {
|
||||
/// warning = warn_description,
|
||||
/// "Received warning for input: {:?}", input,
|
||||
/// );
|
||||
/// warn!(name: "invalid", ?input);
|
||||
/// # }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! warn {
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
@ -1704,6 +2197,59 @@ macro_rules! warn {
|
||||
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::WARN, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::WARN, { $($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::WARN, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::WARN, { %$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1770,21 +2316,8 @@ macro_rules! warn {
|
||||
$($arg)+
|
||||
)
|
||||
);
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::WARN, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// ...
|
||||
({ $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1886,11 +2419,47 @@ macro_rules! warn {
|
||||
/// error!(port, error = %err_info);
|
||||
/// error!(target: "app_events", "App Error: {}", err_info);
|
||||
/// error!({ info = err_info }, "error on port: {}", port);
|
||||
/// error!(name: "invalid_input", "Invalid input: {}", err_info);
|
||||
/// # }
|
||||
/// ```
|
||||
#[macro_export]
|
||||
macro_rules! error {
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
// Name / target / parent.
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, parent: $parent, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / target.
|
||||
(name: $name:expr, target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, target: $target, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target / parent.
|
||||
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
@ -1905,6 +2474,59 @@ macro_rules! error {
|
||||
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, parent: $parent, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name / parent.
|
||||
(name: $name:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::ERROR, { $($k).+ $($field)+ })
|
||||
);
|
||||
(name: $name:expr, parent: $parent:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, parent: $parent, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Name.
|
||||
(name: $name:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(name: $name:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::ERROR, { $($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::ERROR, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(name: $name, $crate::Level::ERROR, { %$($k).+ $($field)* })
|
||||
);
|
||||
(name: $name:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(name: $name, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Target.
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// Parent.
|
||||
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
@ -1971,21 +2593,8 @@ macro_rules! error {
|
||||
$($arg)+
|
||||
)
|
||||
);
|
||||
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { $($field)* }, $($arg)*)
|
||||
);
|
||||
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { ?$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, { %$($k).+ $($field)* })
|
||||
);
|
||||
(target: $target:expr, $($arg:tt)+ ) => (
|
||||
$crate::event!(target: $target, $crate::Level::ERROR, {}, $($arg)+)
|
||||
);
|
||||
|
||||
// ...
|
||||
({ $($field:tt)+ }, $($arg:tt)+ ) => (
|
||||
$crate::event!(
|
||||
target: module_path!(),
|
||||
|
@ -451,6 +451,13 @@ fn locals_no_message() {
|
||||
let data = (42, "forty-two");
|
||||
let private_data = "private";
|
||||
let error = "a bad error";
|
||||
event!(
|
||||
name: "foo",
|
||||
target: "app_events",
|
||||
Level::WARN,
|
||||
private_data,
|
||||
?data,
|
||||
);
|
||||
event!(
|
||||
target: "app_events",
|
||||
Level::WARN,
|
||||
@ -490,6 +497,8 @@ fn trace() {
|
||||
trace!({ foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
trace!({ foo = 2, bar.baz = 78 }, "quux");
|
||||
trace!({ foo = ?2, bar.baz = %78 }, "quux");
|
||||
trace!(name: "foo", foo = 3, bar.baz = 2, quux = false);
|
||||
trace!(name: "foo", target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
trace!(target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
trace!(target: "foo_events", foo = 3, bar.baz = 3,);
|
||||
trace!(target: "foo_events", "foo");
|
||||
@ -502,6 +511,12 @@ fn trace() {
|
||||
trace!(?foo);
|
||||
trace!(%foo);
|
||||
trace!(foo);
|
||||
trace!(name: "foo", ?foo);
|
||||
trace!(name: "foo", %foo);
|
||||
trace!(name: "foo", foo);
|
||||
trace!(name: "foo", ?foo, true, "message");
|
||||
trace!(name: "foo", %foo, true, "message");
|
||||
trace!(name: "foo", foo, true, "message");
|
||||
trace!(target: "foo_events", ?foo);
|
||||
trace!(target: "foo_events", %foo);
|
||||
trace!(target: "foo_events", foo);
|
||||
@ -526,6 +541,8 @@ fn debug() {
|
||||
debug!({ foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
debug!({ foo = 2, bar.baz = 78 }, "quux");
|
||||
debug!({ foo = ?2, bar.baz = %78 }, "quux");
|
||||
debug!(name: "foo", foo = 3, bar.baz = 2, quux = false);
|
||||
debug!(name: "foo", target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
debug!(target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
debug!(target: "foo_events", foo = 3, bar.baz = 3,);
|
||||
debug!(target: "foo_events", "foo");
|
||||
@ -538,6 +555,12 @@ fn debug() {
|
||||
debug!(?foo);
|
||||
debug!(%foo);
|
||||
debug!(foo);
|
||||
debug!(name: "foo", ?foo);
|
||||
debug!(name: "foo", %foo);
|
||||
debug!(name: "foo", foo);
|
||||
debug!(name: "foo", ?foo, true, "message");
|
||||
debug!(name: "foo", %foo, true, "message");
|
||||
debug!(name: "foo", foo, true, "message");
|
||||
debug!(target: "foo_events", ?foo);
|
||||
debug!(target: "foo_events", %foo);
|
||||
debug!(target: "foo_events", foo);
|
||||
@ -562,6 +585,8 @@ fn info() {
|
||||
info!({ foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
info!({ foo = 2, bar.baz = 78 }, "quux");
|
||||
info!({ foo = ?2, bar.baz = %78 }, "quux");
|
||||
info!(name: "foo", foo = 3, bar.baz = 2, quux = false);
|
||||
info!(name: "foo", target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
info!(target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
info!(target: "foo_events", foo = 3, bar.baz = 3,);
|
||||
info!(target: "foo_events", "foo");
|
||||
@ -574,6 +599,12 @@ fn info() {
|
||||
info!(?foo);
|
||||
info!(%foo);
|
||||
info!(foo);
|
||||
info!(name: "foo", ?foo);
|
||||
info!(name: "foo", %foo);
|
||||
info!(name: "foo", foo);
|
||||
info!(name: "foo", ?foo, true, "message");
|
||||
info!(name: "foo", %foo, true, "message");
|
||||
info!(name: "foo", foo, true, "message");
|
||||
info!(target: "foo_events", ?foo);
|
||||
info!(target: "foo_events", %foo);
|
||||
info!(target: "foo_events", foo);
|
||||
@ -598,6 +629,8 @@ fn warn() {
|
||||
warn!({ foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
warn!({ foo = 2, bar.baz = 78 }, "quux");
|
||||
warn!({ foo = ?2, bar.baz = %78 }, "quux");
|
||||
warn!(name: "foo", foo = 3, bar.baz = 2, quux = false);
|
||||
warn!(name: "foo", target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
warn!(target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
warn!(target: "foo_events", foo = 3, bar.baz = 3,);
|
||||
warn!(target: "foo_events", "foo");
|
||||
@ -610,6 +643,12 @@ fn warn() {
|
||||
warn!(?foo);
|
||||
warn!(%foo);
|
||||
warn!(foo);
|
||||
warn!(name: "foo", ?foo);
|
||||
warn!(name: "foo", %foo);
|
||||
warn!(name: "foo", foo);
|
||||
warn!(name: "foo", ?foo, true, "message");
|
||||
warn!(name: "foo", %foo, true, "message");
|
||||
warn!(name: "foo", foo, true, "message");
|
||||
warn!(target: "foo_events", ?foo);
|
||||
warn!(target: "foo_events", %foo);
|
||||
warn!(target: "foo_events", foo);
|
||||
@ -634,6 +673,8 @@ fn error() {
|
||||
error!({ foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
error!({ foo = 2, bar.baz = 78, }, "quux");
|
||||
error!({ foo = ?2, bar.baz = %78 }, "quux");
|
||||
error!(name: "foo", foo = 3, bar.baz = 2, quux = false);
|
||||
error!(name: "foo", target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
error!(target: "foo_events", foo = 3, bar.baz = 2, quux = false);
|
||||
error!(target: "foo_events", foo = 3, bar.baz = 3,);
|
||||
error!(target: "foo_events", "foo");
|
||||
@ -646,6 +687,12 @@ fn error() {
|
||||
error!(?foo);
|
||||
error!(%foo);
|
||||
error!(foo);
|
||||
error!(name: "foo", ?foo);
|
||||
error!(name: "foo", %foo);
|
||||
error!(name: "foo", foo);
|
||||
error!(name: "foo", ?foo, true, "message");
|
||||
error!(name: "foo", %foo, true, "message");
|
||||
error!(name: "foo", foo, true, "message");
|
||||
error!(target: "foo_events", ?foo);
|
||||
error!(target: "foo_events", %foo);
|
||||
error!(target: "foo_events", foo);
|
||||
@ -680,6 +727,14 @@ fn event_root() {
|
||||
event!(target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
event!(target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
event!(target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 78, }, "quux");
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, foo = 3, bar.baz = 2, quux = false);
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, foo = 3, bar.baz = 3,);
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, "foo");
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, "foo: {}", 3);
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 3, bar.baz = 80 }, "quux");
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
event!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, Level::DEBUG, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -703,6 +758,14 @@ fn trace_root() {
|
||||
trace!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
trace!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
trace!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 2, quux = false);
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 3,);
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo");
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo: {}", 3);
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 3, bar.baz = 80 }, "quux");
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
trace!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -726,6 +789,14 @@ fn debug_root() {
|
||||
debug!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
debug!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
debug!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 2, quux = false);
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 3,);
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo");
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo: {}", 3);
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 3, bar.baz = 80 }, "quux");
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
debug!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -749,6 +820,14 @@ fn info_root() {
|
||||
info!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
info!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
info!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 2, quux = false);
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 3,);
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo");
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo: {}", 3);
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 3, bar.baz = 80 }, "quux");
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
info!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -772,6 +851,14 @@ fn warn_root() {
|
||||
warn!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
warn!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
warn!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 2, quux = false);
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 3,);
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo");
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo: {}", 3);
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 3, bar.baz = 80 }, "quux");
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
warn!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -795,6 +882,14 @@ fn error_root() {
|
||||
error!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
error!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
error!(target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 2, quux = false);
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, foo = 3, bar.baz = 3,);
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo");
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, "foo: {}", 3);
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 3, bar.baz = 80 }, "quux");
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
error!(name: "foo", target: "foo_events", parent: ::core::option::Option::None, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -818,6 +913,14 @@ fn event_with_parent() {
|
||||
event!(target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
event!(target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
event!(target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 78, }, "quux");
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, foo = 3, bar.baz = 2, quux = false);
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, foo = 3, bar.baz = 3,);
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, "foo");
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, "foo: {}", 3);
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, { foo = 3, bar.baz = 80 }, "quux");
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
event!(name: "foo", target: "foo_events", parent: &p, Level::DEBUG, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -842,6 +945,14 @@ fn trace_with_parent() {
|
||||
trace!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
trace!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
trace!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 2, quux = false);
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 3,);
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, "foo");
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, "foo: {}", 3);
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, { foo = 3, bar.baz = 80 }, "quux");
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
trace!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -866,6 +977,14 @@ fn debug_with_parent() {
|
||||
debug!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
debug!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
debug!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 2, quux = false);
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 3,);
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, "foo");
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, "foo: {}", 3);
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, { foo = 3, bar.baz = 80 }, "quux");
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
debug!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -890,6 +1009,14 @@ fn info_with_parent() {
|
||||
info!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
info!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
info!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
info!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 2, quux = false);
|
||||
info!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 3,);
|
||||
info!(name: "foo", target: "foo_events", parent: &p, "foo");
|
||||
info!(name: "foo", target: "foo_events", parent: &p, "foo: {}", 3);
|
||||
info!(name: "foo", target: "foo_events", parent: &p, { foo = 3, bar.baz = 80 }, "quux");
|
||||
info!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
info!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
info!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -914,6 +1041,14 @@ fn warn_with_parent() {
|
||||
warn!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
warn!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
warn!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 2, quux = false);
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 3,);
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, "foo");
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, "foo: {}", 3);
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, { foo = 3, bar.baz = 80 }, "quux");
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
warn!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
@ -938,6 +1073,14 @@ fn error_with_parent() {
|
||||
error!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
error!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
error!(target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
error!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 2, quux = false);
|
||||
error!(name: "foo", target: "foo_events", parent: &p, foo = 3, bar.baz = 3,);
|
||||
error!(name: "foo", target: "foo_events", parent: &p, "foo");
|
||||
error!(name: "foo", target: "foo_events", parent: &p, "foo: {}", 3);
|
||||
error!(name: "foo", target: "foo_events", parent: &p, { foo = 3, bar.baz = 80 }, "quux");
|
||||
error!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}", true);
|
||||
error!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 79 }, "quux {:?}, {quux}", true, quux = false);
|
||||
error!(name: "foo", target: "foo_events", parent: &p, { foo = 2, bar.baz = 78, }, "quux");
|
||||
}
|
||||
|
||||
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
|
||||
|
Loading…
x
Reference in New Issue
Block a user