Skip to content

Commit 1b800fa

Browse files
authored
tracing: fix broken match arms in event macros (tokio-rs#1239)
This PR fixes the event macros to accept syntax like `info!(target: "test", ?value)`. While this works without the explicit `target`, it did not worked with the `target` up to now. Besides that the macros also used from wrong levels in certain branches.
1 parent f81426b commit 1b800fa

File tree

2 files changed

+62
-32
lines changed

2 files changed

+62
-32
lines changed

tracing/src/macros.rs

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -914,14 +914,14 @@ macro_rules! trace {
914914
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
915915
$crate::event!(target: $target, $crate::Level::TRACE, { $($field)* }, $($arg)*)
916916
);
917-
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
918-
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
917+
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
918+
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)* })
919919
);
920-
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
921-
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
920+
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
921+
$crate::event!(target: $target, $crate::Level::TRACE, { ?$($k).+ $($field)* })
922922
);
923-
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
924-
$crate::event!(target: $target, $crate::Level::TRACE, { $($k).+ $($field)+ })
923+
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
924+
$crate::event!(target: $target, $crate::Level::TRACE, { %$($k).+ $($field)* })
925925
);
926926
(target: $target:expr, $($arg:tt)+ ) => (
927927
$crate::event!(target: $target, $crate::Level::TRACE, {}, $($arg)+)
@@ -1101,14 +1101,14 @@ macro_rules! debug {
11011101
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
11021102
$crate::event!(target: $target, $crate::Level::DEBUG, { $($field)* }, $($arg)*)
11031103
);
1104-
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
1105-
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
1104+
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
1105+
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)* })
11061106
);
1107-
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
1108-
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
1107+
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
1108+
$crate::event!(target: $target, $crate::Level::DEBUG, { ?$($k).+ $($field)* })
11091109
);
1110-
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
1111-
$crate::event!(target: $target, $crate::Level::DEBUG, { $($k).+ $($field)+ })
1110+
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
1111+
$crate::event!(target: $target, $crate::Level::DEBUG, { %$($k).+ $($field)* })
11121112
);
11131113
(target: $target:expr, $($arg:tt)+ ) => (
11141114
$crate::event!(target: $target, $crate::Level::DEBUG, {}, $($arg)+)
@@ -1313,14 +1313,14 @@ macro_rules! info {
13131313
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
13141314
$crate::event!(target: $target, $crate::Level::INFO, { $($field)* }, $($arg)*)
13151315
);
1316-
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
1317-
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
1316+
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
1317+
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)* })
13181318
);
1319-
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
1320-
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
1319+
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
1320+
$crate::event!(target: $target, $crate::Level::INFO, { ?$($k).+ $($field)* })
13211321
);
1322-
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
1323-
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)+ })
1322+
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
1323+
$crate::event!(target: $target, $crate::Level::INFO, { $($k).+ $($field)* })
13241324
);
13251325
(target: $target:expr, $($arg:tt)+ ) => (
13261326
$crate::event!(target: $target, $crate::Level::INFO, {}, $($arg)+)
@@ -1350,7 +1350,7 @@ macro_rules! info {
13501350
(%$($k:ident).+ = $($field:tt)*) => (
13511351
$crate::event!(
13521352
target: module_path!(),
1353-
$crate::Level::TRACE,
1353+
$crate::Level::INFO,
13541354
{ %$($k).+ = $($field)*}
13551355
)
13561356
);
@@ -1518,14 +1518,14 @@ macro_rules! warn {
15181518
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
15191519
$crate::event!(target: $target, $crate::Level::WARN, { $($field)* }, $($arg)*)
15201520
);
1521-
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
1522-
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
1521+
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
1522+
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)* })
15231523
);
1524-
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
1525-
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
1524+
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
1525+
$crate::event!(target: $target, $crate::Level::WARN, { ?$($k).+ $($field)* })
15261526
);
1527-
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
1528-
$crate::event!(target: $target, $crate::Level::WARN, { $($k).+ $($field)+ })
1527+
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
1528+
$crate::event!(target: $target, $crate::Level::WARN, { %$($k).+ $($field)* })
15291529
);
15301530
(target: $target:expr, $($arg:tt)+ ) => (
15311531
$crate::event!(target: $target, $crate::Level::WARN, {}, $($arg)+)
@@ -1719,14 +1719,14 @@ macro_rules! error {
17191719
(target: $target:expr, { $($field:tt)* }, $($arg:tt)* ) => (
17201720
$crate::event!(target: $target, $crate::Level::ERROR, { $($field)* }, $($arg)*)
17211721
);
1722-
(target: $target:expr, $($k:ident).+ $($field:tt)+ ) => (
1723-
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
1722+
(target: $target:expr, $($k:ident).+ $($field:tt)* ) => (
1723+
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)* })
17241724
);
1725-
(target: $target:expr, ?$($k:ident).+ $($field:tt)+ ) => (
1726-
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
1725+
(target: $target:expr, ?$($k:ident).+ $($field:tt)* ) => (
1726+
$crate::event!(target: $target, $crate::Level::ERROR, { ?$($k).+ $($field)* })
17271727
);
1728-
(target: $target:expr, %$($k:ident).+ $($field:tt)+ ) => (
1729-
$crate::event!(target: $target, $crate::Level::ERROR, { $($k).+ $($field)+ })
1728+
(target: $target:expr, %$($k:ident).+ $($field:tt)* ) => (
1729+
$crate::event!(target: $target, $crate::Level::ERROR, { %$($k).+ $($field)* })
17301730
);
17311731
(target: $target:expr, $($arg:tt)+ ) => (
17321732
$crate::event!(target: $target, $crate::Level::ERROR, {}, $($arg)+)
@@ -1756,7 +1756,7 @@ macro_rules! error {
17561756
(%$($k:ident).+ = $($field:tt)*) => (
17571757
$crate::event!(
17581758
target: module_path!(),
1759-
$crate::Level::TRACE,
1759+
$crate::Level::ERROR,
17601760
{ %$($k).+ = $($field)*}
17611761
)
17621762
);

tracing/tests/macros.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,12 @@ fn trace() {
407407
trace!(?foo);
408408
trace!(%foo);
409409
trace!(foo);
410+
trace!(target: "foo_events", ?foo);
411+
trace!(target: "foo_events", %foo);
412+
trace!(target: "foo_events", foo);
413+
trace!(target: "foo_events", ?foo, true, "message");
414+
trace!(target: "foo_events", %foo, true, "message");
415+
trace!(target: "foo_events", foo, true, "message");
410416
}
411417

412418
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
@@ -437,6 +443,12 @@ fn debug() {
437443
debug!(?foo);
438444
debug!(%foo);
439445
debug!(foo);
446+
debug!(target: "foo_events", ?foo);
447+
debug!(target: "foo_events", %foo);
448+
debug!(target: "foo_events", foo);
449+
debug!(target: "foo_events", ?foo, true, "message");
450+
debug!(target: "foo_events", %foo, true, "message");
451+
debug!(target: "foo_events", foo, true, "message");
440452
}
441453

442454
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
@@ -467,6 +479,12 @@ fn info() {
467479
info!(?foo);
468480
info!(%foo);
469481
info!(foo);
482+
info!(target: "foo_events", ?foo);
483+
info!(target: "foo_events", %foo);
484+
info!(target: "foo_events", foo);
485+
info!(target: "foo_events", ?foo, true, "message");
486+
info!(target: "foo_events", %foo, true, "message");
487+
info!(target: "foo_events", foo, true, "message");
470488
}
471489

472490
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
@@ -497,6 +515,12 @@ fn warn() {
497515
warn!(?foo);
498516
warn!(%foo);
499517
warn!(foo);
518+
warn!(target: "foo_events", ?foo);
519+
warn!(target: "foo_events", %foo);
520+
warn!(target: "foo_events", foo);
521+
warn!(target: "foo_events", ?foo, true, "message");
522+
warn!(target: "foo_events", %foo, true, "message");
523+
warn!(target: "foo_events", foo, true, "message");
500524
}
501525

502526
#[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)]
@@ -527,6 +551,12 @@ fn error() {
527551
error!(?foo);
528552
error!(%foo);
529553
error!(foo);
554+
error!(target: "foo_events", ?foo);
555+
error!(target: "foo_events", %foo);
556+
error!(target: "foo_events", foo);
557+
error!(target: "foo_events", ?foo, true, "message");
558+
error!(target: "foo_events", %foo, true, "message");
559+
error!(target: "foo_events", foo, true, "message");
530560
}
531561

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

0 commit comments

Comments
 (0)