@@ -41,7 +41,7 @@ use crate::sign::{EcdsaChannelSigner, WriteableEcdsaChannelSigner, EntropySource
41
41
use crate::events::ClosureReason;
42
42
use crate::routing::gossip::NodeId;
43
43
use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer};
44
- use crate::util::logger::{Logger, WithContext};
44
+ use crate::util::logger::{Logger, Record, WithContext};
45
45
use crate::util::errors::APIError;
46
46
use crate::util::config::{UserConfig, ChannelConfig, LegacyChannelConfig, ChannelHandshakeConfig, ChannelHandshakeLimits, MaxDustHTLCExposure};
47
47
use crate::util::scid_utils::scid_from_parts;
@@ -405,6 +405,33 @@ impl fmt::Display for ChannelError {
405
405
}
406
406
}
407
407
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
+
408
435
macro_rules! secp_check {
409
436
($res: expr, $err: expr) => {
410
437
match $res {
0 commit comments