Skip to content

Commit 9a5a04e

Browse files
committed
Use structured logging where appropriate in OnionMessenger
1 parent 028d919 commit 9a5a04e

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

lightning/src/onion_message/messenger.rs

+27-14
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use super::packet::OnionMessageContents;
2828
use super::packet::ParsedOnionMessageContents;
2929
use super::offers::OffersMessageHandler;
3030
use super::packet::{BIG_PACKET_HOP_DATA_LEN, ForwardControlTlvs, Packet, Payload, ReceiveControlTlvs, SMALL_PACKET_HOP_DATA_LEN};
31-
use crate::util::logger::Logger;
31+
use crate::util::logger::{Logger, WithContext};
3232
use crate::util::ser::Writeable;
3333

3434
use core::fmt;
@@ -748,25 +748,31 @@ where
748748
&self, contents: T, destination: Destination, reply_path: Option<BlindedPath>,
749749
log_suffix: fmt::Arguments
750750
) -> Result<SendSuccess, SendError> {
751+
let mut logger = WithContext::from(&self.logger, None, None);
751752
let result = self.find_path(destination)
752-
.and_then(|path| self.enqueue_onion_message(path, contents, reply_path, log_suffix));
753+
.and_then(|path| {
754+
let first_hop = path.intermediate_nodes.get(0).map(|p| *p);
755+
logger = WithContext::from(&self.logger, first_hop, None);
756+
self.enqueue_onion_message(path, contents, reply_path, log_suffix)
757+
});
753758

754759
match result.as_ref() {
755760
Err(SendError::GetNodeIdFailed) => {
756-
log_warn!(self.logger, "Unable to retrieve node id {}", log_suffix);
761+
log_warn!(logger, "Unable to retrieve node id {}", log_suffix);
757762
},
758763
Err(SendError::PathNotFound) => {
759-
log_trace!(self.logger, "Failed to find path {}", log_suffix);
764+
log_trace!(logger, "Failed to find path {}", log_suffix);
760765
},
761766
Err(e) => {
762-
log_trace!(self.logger, "Failed sending onion message {}: {:?}", log_suffix, e);
767+
log_trace!(logger, "Failed sending onion message {}: {:?}", log_suffix, e);
763768
},
764769
Ok(SendSuccess::Buffered) => {
765-
log_trace!(self.logger, "Buffered onion message {}", log_suffix);
770+
log_trace!(logger, "Buffered onion message {}", log_suffix);
766771
},
767772
Ok(SendSuccess::BufferedAwaitingConnection(node_id)) => {
768773
log_trace!(
769-
self.logger, "Buffered onion message waiting on peer connection {}: {}",
774+
logger,
775+
"Buffered onion message waiting on peer connection {}: {}",
770776
log_suffix, node_id
771777
);
772778
},
@@ -925,12 +931,13 @@ where
925931
OMH::Target: OffersMessageHandler,
926932
CMH::Target: CustomOnionMessageHandler,
927933
{
928-
fn handle_onion_message(&self, _peer_node_id: &PublicKey, msg: &OnionMessage) {
934+
fn handle_onion_message(&self, peer_node_id: &PublicKey, msg: &OnionMessage) {
935+
let logger = WithContext::from(&self.logger, Some(*peer_node_id), None);
929936
match self.peel_onion_message(msg) {
930937
Ok(PeeledOnion::Receive(message, path_id, reply_path)) => {
931938
log_trace!(
932-
self.logger,
933-
"Received an onion message with path_id {:02x?} and {} reply_path: {:?}",
939+
logger,
940+
"Received an onion message with path_id {:02x?} and {} reply_path: {:?}",
934941
path_id, if reply_path.is_some() { "a" } else { "no" }, message);
935942

936943
match message {
@@ -957,7 +964,10 @@ where
957964
Ok(PeeledOnion::Forward(next_node_id, onion_message)) => {
958965
let mut message_recipients = self.message_recipients.lock().unwrap();
959966
if outbound_buffer_full(&next_node_id, &message_recipients) {
960-
log_trace!(self.logger, "Dropping forwarded onion message to peer {}: outbound buffer full", next_node_id);
967+
log_trace!(
968+
logger,
969+
"Dropping forwarded onion message to peer {}: outbound buffer full",
970+
next_node_id);
961971
return
962972
}
963973

@@ -971,16 +981,19 @@ where
971981
e.get(), OnionMessageRecipient::ConnectedPeer(..)
972982
) => {
973983
e.get_mut().enqueue_message(onion_message);
974-
log_trace!(self.logger, "Forwarding an onion message to peer {}", next_node_id);
984+
log_trace!(logger, "Forwarding an onion message to peer {}", next_node_id);
975985
},
976986
_ => {
977-
log_trace!(self.logger, "Dropping forwarded onion message to disconnected peer {}", next_node_id);
987+
log_trace!(
988+
logger,
989+
"Dropping forwarded onion message to disconnected peer {}",
990+
next_node_id);
978991
return
979992
},
980993
}
981994
},
982995
Err(e) => {
983-
log_error!(self.logger, "Failed to process onion message {:?}", e);
996+
log_error!(logger, "Failed to process onion message {:?}", e);
984997
}
985998
}
986999
}

0 commit comments

Comments
 (0)