From 18e17278421b0509c05555f94e63553769f532e5 Mon Sep 17 00:00:00 2001 From: Pierre Krieger Date: Thu, 15 Mar 2018 18:03:39 +0100 Subject: [PATCH] Fix panics while logging (#140) * Fix panic and logging * Fix style --- libp2p-dns/src/lib.rs | 7 +++++-- libp2p-identify/src/protocol.rs | 11 +++++++---- libp2p-ping/src/lib.rs | 9 +++++++-- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/libp2p-dns/src/lib.rs b/libp2p-dns/src/lib.rs index d050ef9b..40221c4e 100644 --- a/libp2p-dns/src/lib.rs +++ b/libp2p-dns/src/lib.rs @@ -201,8 +201,11 @@ fn resolve_dns( }; let future = resolver.resolve(name).and_then(move |addrs| { - trace!(target: "libp2p-dns", "DNS component resolution: {} => {:?}", - debug_name.expect("trace log level was enabled"), addrs); + if log_enabled!(target: "libp2p-dns", Level::Trace) { + trace!(target: "libp2p-dns", "DNS component resolution: {} => {:?}", + debug_name.expect("trace log level was enabled"), addrs); + } + addrs .into_iter() .filter_map(move |addr| match (addr, ty) { diff --git a/libp2p-identify/src/protocol.rs b/libp2p-identify/src/protocol.rs index 3d0c4ba4..8a34bae1 100644 --- a/libp2p-identify/src/protocol.rs +++ b/libp2p-identify/src/protocol.rs @@ -145,10 +145,13 @@ where .map(|(msg, _)| msg) .map_err(|(err, _)| err) .and_then(|msg| { - debug!(target: "libp2p-identify", "Received identify message from {:?}", - observed_addr_log - .expect("Programmer error: expected `observed_addr_log' to be \ - non-None since debug log level is enabled")); + if log_enabled!(target: "libp2p-identify", Level::Debug) { + debug!(target: "libp2p-identify", "Received identify message from {:?}", + observed_addr_log + .expect("Programmer error: expected `observed_addr_log' to be \ + non-None since debug log level is enabled")); + } + if let Some(msg) = msg { let (info, observed_addr) = match parse_proto_msg(msg) { Ok(v) => v, diff --git a/libp2p-ping/src/lib.rs b/libp2p-ping/src/lib.rs index 4fd49648..daea084e 100644 --- a/libp2p-ping/src/lib.rs +++ b/libp2p-ping/src/lib.rs @@ -186,8 +186,13 @@ where match message { Message::Ping(payload, finished) => { // Ping requested by the user through the `Pinger`. - debug!(target: "libp2p-ping", "Sending ping to {:?} with payload {:?}", - remote_addr.expect("debug log level is enabled"), payload); + if log_enabled!(target: "libp2p-ping", Level::Debug) { + debug!(target: "libp2p-ping", "Sending ping to {:?} with \ + payload {:?}", + remote_addr.expect("debug log level is enabled"), + payload); + } + expected_pongs.insert(payload.clone(), finished); Box::new( sink.send(payload)