diff --git a/radicle-node/src/service.rs b/radicle-node/src/service.rs index be846289..96668dcd 100644 --- a/radicle-node/src/service.rs +++ b/radicle-node/src/service.rs @@ -932,9 +932,12 @@ where } } } else { - debug!(target: "service", "No sessions connected to {announcer}"); + trace!( + target: "service", + "Skipping fetch of {}, no sessions connected to {announcer}", + message.rid + ); } - return Ok(relay); } else { debug!( @@ -1059,8 +1062,9 @@ where return Ok(()); }; peer.last_active = self.clock; + message.log(log::Level::Debug, remote); - debug!(target: "service", "Received message {:?} from {}", &message, peer.id); + trace!(target: "service", "Received message {:?} from {}", &message, peer.id); match (&mut peer.state, message) { // Process a peer announcement. diff --git a/radicle-node/src/service/message.rs b/radicle-node/src/service/message.rs index c42ee5f6..00a2cf61 100644 --- a/radicle-node/src/service/message.rs +++ b/radicle-node/src/service/message.rs @@ -407,6 +407,38 @@ impl Message { until, }) } + + pub fn log(&self, level: log::Level, remote: &NodeId) { + if !log::log_enabled!(level) { + return; + } + let msg = match self { + Self::Announcement(Announcement { node, message, .. }) => match message { + AnnouncementMessage::Node(NodeAnnouncement { addresses, .. }) => format!( + "Node announced by {node} with {} addresses, relayed by {remote}", + addresses.len() + ), + AnnouncementMessage::Refs(RefsAnnouncement { rid, refs, .. }) => { + format!( + "Refs announced by {node} for {rid} with {} remotes, relayed by {remote}", + refs.len() + ) + } + AnnouncementMessage::Inventory(InventoryAnnouncement { inventory, .. }) => { + format!( + "Inventory announced by {node} with {} item(s), relayed by {remote}", + inventory.len() + ) + } + }, + Self::Ping { .. } => format!("Ping received from {remote}"), + Self::Pong { .. } => format!("Pong received from {remote}"), + Self::Subscribe(Subscribe { .. }) => { + format!("Subscription filter received from {remote}") + } + }; + log::log!(target: "service", level, "{msg}"); + } } /// A ping message.