diff --git a/crates/radicle-node/src/wire.rs b/crates/radicle-node/src/wire.rs index 8ea26944..58ac544a 100644 --- a/crates/radicle-node/src/wire.rs +++ b/crates/radicle-node/src/wire.rs @@ -990,7 +990,7 @@ where .push_back(reactor::Action::RegisterTransport(token, transport)); } Err(err) => { - log::error!(target: "wire", "Error establishing connection to {addr}: {err}"); + logger::establish_connection(&addr, &err); self.service.disconnected( node_id, @@ -1221,6 +1221,21 @@ fn session>( WireSession::new(proxy, noise) } +mod logger { + use radicle::node::Address; + + pub fn establish_connection(addr: &Address, err: &std::io::Error) { + use std::io::ErrorKind::*; + match err.kind() { + ConnectionRefused | ConnectionReset | HostUnreachable | ConnectionAborted + | NotConnected => { + log::info!(target: "wire", "Could not establish connection to {addr}: {err}") + } + _ => log::error!(target: "wire", "Error establishing connection to {addr}: {err}"), + } + } +} + #[cfg(test)] mod test { use super::*;