macro_rules! info {
(target: $target:expr, parent: $parent:expr, { $($field:tt)* }, $($arg:tt)* ) => { ... };
(target: $target:expr, parent: $parent:expr, $($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, parent: $parent:expr, ?$($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, parent: $parent:expr, %$($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, parent: $parent:expr, $($arg:tt)+ ) => { ... };
(parent: $parent:expr, { $($field:tt)+ }, $($arg:tt)+ ) => { ... };
(parent: $parent:expr, $($k:ident).+ = $($field:tt)*) => { ... };
(parent: $parent:expr, ?$($k:ident).+ = $($field:tt)*) => { ... };
(parent: $parent:expr, %$($k:ident).+ = $($field:tt)*) => { ... };
(parent: $parent:expr, $($k:ident).+, $($field:tt)*) => { ... };
(parent: $parent:expr, ?$($k:ident).+, $($field:tt)*) => { ... };
(parent: $parent:expr, %$($k:ident).+, $($field:tt)*) => { ... };
(parent: $parent:expr, $($arg:tt)+) => { ... };
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => { ... };
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => { ... };
(target: $target:expr, $($arg:tt)+ ) => { ... };
({ $($field:tt)+ }, $($arg:tt)+ ) => { ... };
($($k:ident).+ = $($field:tt)*) => { ... };
(?$($k:ident).+ = $($field:tt)*) => { ... };
(%$($k:ident).+ = $($field:tt)*) => { ... };
($($k:ident).+, $($field:tt)*) => { ... };
(?$($k:ident).+, $($field:tt)*) => { ... };
(%$($k:ident).+, $($field:tt)*) => { ... };
(?$($k:ident).+) => { ... };
(%$($k:ident).+) => { ... };
($($k:ident).+) => { ... };
($($arg:tt)+) => { ... };
}
Constructs an event at the info level.
When both a message and fields are included, curly braces ({
and }
) are
used to delimit the list of fields from the format string for the message.
A trailing comma on the final field is valid.
use tracing::field;
let addr = Ipv4Addr::new(127, 0, 0, 1);
let conn = Connection { port: 40, speed: 3.20 };
info!({ port = conn.port }, "connected to {}", addr);
info!(
target: "connection_events",
ip = %addr,
conn.port,
?conn.speed,
);