Skip to content

Commit 0fcdf0e

Browse files
henghongleejkczyz
authored andcommitted
Add WithChannelContext
1 parent b20bff7 commit 0fcdf0e

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

lightning/src/ln/channel.rs

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use crate::sign::{EcdsaChannelSigner, WriteableEcdsaChannelSigner, EntropySource
4141
use crate::events::ClosureReason;
4242
use crate::routing::gossip::NodeId;
4343
use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer};
44-
use crate::util::logger::{Logger, WithContext};
44+
use crate::util::logger::{Logger, Record, WithContext};
4545
use crate::util::errors::APIError;
4646
use crate::util::config::{UserConfig, ChannelConfig, LegacyChannelConfig, ChannelHandshakeConfig, ChannelHandshakeLimits, MaxDustHTLCExposure};
4747
use crate::util::scid_utils::scid_from_parts;
@@ -405,6 +405,33 @@ impl fmt::Display for ChannelError {
405405
}
406406
}
407407

408+
pub(super) struct WithChannelContext<'a, L: Deref> where L::Target: Logger {
409+
pub logger: &'a L,
410+
pub peer_id: Option<PublicKey>,
411+
pub channel_id: Option<ChannelId>,
412+
}
413+
414+
impl<'a, L: Deref> Logger for WithChannelContext<'a, L> where L::Target: Logger {
415+
fn log(&self, mut record: Record) {
416+
record.peer_id = self.peer_id;
417+
record.channel_id = self.channel_id;
418+
self.logger.log(record)
419+
}
420+
}
421+
422+
impl<'a, 'b, L: Deref> WithChannelContext<'a, L>
423+
where L::Target: Logger {
424+
pub(super) fn from<S: Deref>(logger: &'a L, context: &'b ChannelContext<S>) -> Self
425+
where S::Target: SignerProvider
426+
{
427+
WithChannelContext {
428+
logger,
429+
peer_id: Some(context.counterparty_node_id),
430+
channel_id: Some(context.channel_id),
431+
}
432+
}
433+
}
434+
408435
macro_rules! secp_check {
409436
($res: expr, $err: expr) => {
410437
match $res {

0 commit comments

Comments
 (0)