chiark / gitweb /
utils: provide trace_dbg
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 8 Mar 2021 23:45:37 +0000 (23:45 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 8 Mar 2021 23:46:06 +0000 (23:46 +0000)
No callers yet

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/prelude.rs
src/utils.rs

index ed86ff6f71c4fbee54f02e0c820cd9eecef05bc2..05636ebece086ae9a8ebf43494b398446f86e998 100644 (file)
@@ -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::*;
index c264c738c29ed289c199faabb858bdd4d20e1d16..524671bf9c5f3f6d5d8294f01d6688512218da4a 100644 (file)
@@ -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);
+    }
+  }
+}