77
88mod common;
99
10+ use chrono:: Utc ;
1011use common:: {
1112 bump_fee_and_broadcast, distribute_funds_unconfirmed, do_channel_full_cycle,
1213 expect_channel_pending_event, expect_channel_ready_event, expect_event,
@@ -18,12 +19,12 @@ use common::{
1819 setup_two_nodes, wait_for_tx, TestChainSource , TestSyncStore ,
1920} ;
2021
21- use ldk_node:: config:: EsploraSyncConfig ;
22- use ldk_node:: liquidity:: LSPS2ServiceConfig ;
2322use ldk_node:: payment:: {
2423 ConfirmationStatus , PaymentDetails , PaymentDirection , PaymentKind , PaymentStatus ,
2524 QrPaymentResult ,
2625} ;
26+ use ldk_node:: { config:: EsploraSyncConfig , logger:: LogWriter } ;
27+ use ldk_node:: { liquidity:: LSPS2ServiceConfig , logger:: LogRecord } ;
2728use ldk_node:: { Builder , Event , NodeError } ;
2829
2930use lightning:: ln:: channelmanager:: PaymentId ;
@@ -1130,22 +1131,58 @@ fn simple_bolt12_send_receive() {
11301131 assert_eq ! ( node_a_payments. first( ) . unwrap( ) . amount_msat, Some ( overpaid_amount) ) ;
11311132}
11321133
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+
11331160#[ test]
11341161fn static_invoice_server ( ) {
11351162 let ( bitcoind, electrsd) = setup_bitcoind_and_electrsd ( ) ;
11361163 let chain_source = TestChainSource :: Esplora ( & electrsd) ;
11371164
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 ( ) ) ) ) ;
11391168 let node_sender = setup_node ( & chain_source, config_sender, None ) ;
11401169
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 ( ) ) ) ) ;
11421173 let node_sender_lsp = setup_node ( & chain_source, config_sender_lsp, None ) ;
11431174
11441175 let mut config_receiver_lsp = random_config ( true ) ;
11451176 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+
11461180 let node_receiver_lsp = setup_node ( & chain_source, config_receiver_lsp, None ) ;
11471181
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+
11491186 let node_receiver = setup_node ( & chain_source, config_receiver, None ) ;
11501187
11511188 let address_sender = node_sender. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
0 commit comments