7
7
8
8
mod common;
9
9
10
+ use chrono:: Utc ;
10
11
use common:: {
11
12
bump_fee_and_broadcast, distribute_funds_unconfirmed, do_channel_full_cycle,
12
13
expect_channel_pending_event, expect_channel_ready_event, expect_event,
@@ -18,12 +19,12 @@ use common::{
18
19
setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
19
20
} ;
20
21
21
- use ldk_node:: config:: EsploraSyncConfig ;
22
- use ldk_node:: liquidity:: LSPS2ServiceConfig ;
23
22
use ldk_node:: payment:: {
24
23
ConfirmationStatus , PaymentDetails , PaymentDirection , PaymentKind , PaymentStatus ,
25
24
QrPaymentResult ,
26
25
} ;
26
+ use ldk_node:: { config:: EsploraSyncConfig , logger:: LogWriter } ;
27
+ use ldk_node:: { liquidity:: LSPS2ServiceConfig , logger:: LogRecord } ;
27
28
use ldk_node:: { Builder , Event , NodeError } ;
28
29
29
30
use lightning:: ln:: channelmanager:: PaymentId ;
@@ -1130,22 +1131,58 @@ fn simple_bolt12_send_receive() {
1130
1131
assert_eq ! ( node_a_payments. first( ) . unwrap( ) . amount_msat, Some ( overpaid_amount) ) ;
1131
1132
}
1132
1133
1134
+ struct MultiNodeLogger {
1135
+ node_id : String ,
1136
+ }
1137
+
1138
+ impl MultiNodeLogger {
1139
+ fn new ( node_id : String ) -> Self {
1140
+ Self { node_id }
1141
+ }
1142
+ }
1143
+
1144
+ impl LogWriter for MultiNodeLogger {
1145
+ fn log < ' a > ( & self , record : LogRecord < ' a > ) {
1146
+ let log = format ! (
1147
+ "[{}] {} {:<5} [{}:{}] {}\n " ,
1148
+ self . node_id,
1149
+ Utc :: now( ) . format( "%Y-%m-%d %H:%M:%S%.3f" ) ,
1150
+ record. level. to_string( ) ,
1151
+ record. module_path,
1152
+ record. line,
1153
+ record. args
1154
+ ) ;
1155
+
1156
+ print ! ( "{}" , log) ;
1157
+ }
1158
+ }
1159
+
1133
1160
#[ test]
1134
1161
fn static_invoice_server ( ) {
1135
1162
let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
1136
1163
let chain_source = TestChainSource :: Esplora ( & electrsd) ;
1137
1164
1138
- let config_sender = random_config ( true ) ;
1165
+ let mut config_sender = random_config ( true ) ;
1166
+ config_sender. log_writer =
1167
+ TestLogWriter :: Custom ( Arc :: new ( MultiNodeLogger :: new ( "sender " . to_string ( ) ) ) ) ;
1139
1168
let node_sender = setup_node ( & chain_source, config_sender, None ) ;
1140
1169
1141
- let config_sender_lsp = random_config ( true ) ;
1170
+ let mut config_sender_lsp = random_config ( true ) ;
1171
+ config_sender_lsp. log_writer =
1172
+ TestLogWriter :: Custom ( Arc :: new ( MultiNodeLogger :: new ( "sender_lsp " . to_string ( ) ) ) ) ;
1142
1173
let node_sender_lsp = setup_node ( & chain_source, config_sender_lsp, None ) ;
1143
1174
1144
1175
let mut config_receiver_lsp = random_config ( true ) ;
1145
1176
config_receiver_lsp. node_config . async_payment_services_enabled = true ;
1177
+ config_receiver_lsp. log_writer =
1178
+ TestLogWriter :: Custom ( Arc :: new ( MultiNodeLogger :: new ( "receiver_lsp" . to_string ( ) ) ) ) ;
1179
+
1146
1180
let node_receiver_lsp = setup_node ( & chain_source, config_receiver_lsp, None ) ;
1147
1181
1148
- let config_receiver = random_config ( true ) ;
1182
+ let mut config_receiver = random_config ( true ) ;
1183
+ config_receiver. log_writer =
1184
+ TestLogWriter :: Custom ( Arc :: new ( MultiNodeLogger :: new ( "receiver " . to_string ( ) ) ) ) ;
1185
+
1149
1186
let node_receiver = setup_node ( & chain_source, config_receiver, None ) ;
1150
1187
1151
1188
let address_sender = node_sender. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
0 commit comments