From 004d85fbd05a78be1f9c594b04dfb6ea1eb0ea23 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 8 Mar 2021 23:45:37 +0000 Subject: [PATCH] utils: provide trace_dbg No callers yet Signed-off-by: Ian Jackson --- src/prelude.rs | 1 + src/utils.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/prelude.rs b/src/prelude.rs index ed86ff6f..05636ebe 100644 --- a/src/prelude.rs +++ b/src/prelude.rs @@ -101,6 +101,7 @@ pub use crate::dbgc; pub use crate::{deref_to_field, deref_to_field_mut}; pub use crate::ensure_eq; pub use crate::from_instance_lock_error; +pub use crate::trace_dbg; pub use crate::accounts::loaded_acl::{self, EffectiveACL, LoadedAcl, PermSet}; pub use crate::accounts::*; diff --git a/src/utils.rs b/src/utils.rs index c264c738..524671bf 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -388,3 +388,16 @@ macro_rules! dbgc { ($($crate::dbgc!($val)),+,) }; } + +#[macro_export] +macro_rules! trace_dbg { + ($msg:expr $(,$val:expr)*) => { + use log::*; + use Level::*; + if log_enabled!(Trace) { + let mut buf = format!("{}", &$msg); + $( write!(&mut buf, " {}={:?}", stringify!($val), &$val).unwrap(); )* + trace!("{}", buf); + } + } +} -- 2.30.2