X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fmacro_logger.rs;h=47ba876dcfa13a64df7c3d59b5f660372e39b7f0;hb=8322c756cb3574d74cf1b88893dad14ec5be57ad;hp=fd9a61b39374a0b9f6d53c8866ede69daaa0261b;hpb=dc4af28759be51af8d2471074d036ef7d1a9d5ab;p=rust-lightning diff --git a/src/util/macro_logger.rs b/src/util/macro_logger.rs index fd9a61b3..47ba876d 100644 --- a/src/util/macro_logger.rs +++ b/src/util/macro_logger.rs @@ -3,6 +3,8 @@ use chain::transaction::OutPoint; use bitcoin::util::hash::Sha256dHash; use secp256k1::key::PublicKey; +use ln::router::Route; + use std; pub(crate) struct DebugPubKey<'a>(pub &'a PublicKey); @@ -20,7 +22,7 @@ macro_rules! log_pubkey { } } -pub(crate) struct DebugBytes<'a>(pub &'a [u8; 32]); +pub(crate) struct DebugBytes<'a>(pub &'a [u8]); impl<'a> std::fmt::Display for DebugBytes<'a> { fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { for i in self.0 { @@ -50,9 +52,24 @@ macro_rules! log_funding_channel_id { } } +pub(crate) struct DebugRoute<'a>(pub &'a Route); +impl<'a> std::fmt::Display for DebugRoute<'a> { + fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { + for h in self.0.hops.iter() { + write!(f, "node_id: {}, short_channel_id: {}, fee_msat: {}, cltv_expiry_delta: {}\n", log_pubkey!(h.pubkey), h.short_channel_id, h.fee_msat, h.cltv_expiry_delta)?; + } + Ok(()) + } +} +macro_rules! log_route { + ($obj: expr) => { + ::util::macro_logger::DebugRoute(&$obj) + } +} + macro_rules! log_internal { ($self: ident, $lvl:expr, $($arg:tt)+) => ( - &$self.logger.log(&Record::new($lvl, format_args!($($arg)+), module_path!(), file!(), line!())); + &$self.logger.log(&::util::logger::Record::new($lvl, format_args!($($arg)+), module_path!(), file!(), line!())); ); }