77
88use crate :: chain:: { ChainSource , DEFAULT_ESPLORA_SERVER_URL } ;
99use crate :: config:: {
10- default_user_config , Config , EsploraSyncConfig , FilesystemLoggerConfig , LogFacadeLoggerConfig ,
11- WALLET_KEYS_SEED_LEN ,
10+ default_log_file_path , default_log_level , default_user_config , Config , EsploraSyncConfig ,
11+ FilesystemLoggerConfig , WALLET_KEYS_SEED_LEN ,
1212} ;
1313
1414use crate :: connection:: ConnectionManager ;
@@ -19,7 +19,7 @@ use crate::io::sqlite_store::SqliteStore;
1919use crate :: io:: utils:: { read_node_metrics, write_node_metrics} ;
2020use crate :: io:: vss_store:: VssStore ;
2121use crate :: liquidity:: LiquiditySource ;
22- use crate :: logger:: { log_error, log_info, LdkLogger , LogWriter , Logger } ;
22+ use crate :: logger:: { log_error, log_info, LdkLogger , LogLevel , LogWriter , Logger } ;
2323use crate :: message_handler:: NodeCustomMessageHandler ;
2424use crate :: payment:: store:: PaymentStore ;
2525use crate :: peer_store:: PeerStore ;
@@ -109,10 +109,10 @@ impl Default for LiquiditySourceConfig {
109109 }
110110}
111111
112- #[ derive( Debug ) ]
112+ #[ derive( Debug , Clone ) ]
113113enum LogWriterConfig {
114114 File ( FilesystemLoggerConfig ) ,
115- Log ( LogFacadeLoggerConfig ) ,
115+ Log ( LogLevel ) ,
116116 Custom ( Arc < dyn LogWriter + Send + Sync > ) ,
117117}
118118
@@ -324,8 +324,8 @@ impl NodeBuilder {
324324 }
325325
326326 /// Configures the [`Node`] instance to write logs to the `log` facade.
327- pub fn set_log_facade_logger ( & mut self , lf_config : LogFacadeLoggerConfig ) -> & mut Self {
328- self . log_writer_config = Some ( LogWriterConfig :: Log ( lf_config ) ) ;
327+ pub fn set_log_facade_logger ( & mut self , log_level : LogLevel ) -> & mut Self {
328+ self . log_writer_config = Some ( LogWriterConfig :: Log ( log_level ) ) ;
329329 self
330330 }
331331
@@ -416,9 +416,7 @@ impl NodeBuilder {
416416 ) -> Result < Node , BuildError > {
417417 use bitcoin:: key:: Secp256k1 ;
418418
419- let writer = LogWriterConfig :: default ( ) ;
420- let log_writer_config =
421- if let Some ( config) = & self . log_writer_config { config } else { & writer } ;
419+ let log_writer_config = self . log_writer_config . clone ( ) . unwrap_or_default ( ) ;
422420 let logger = setup_logger ( & log_writer_config) ?;
423421
424422 let seed_bytes = seed_bytes_from_config (
@@ -484,9 +482,7 @@ impl NodeBuilder {
484482 pub fn build_with_vss_store_and_header_provider (
485483 & self , vss_url : String , store_id : String , header_provider : Arc < dyn VssHeaderProvider > ,
486484 ) -> Result < Node , BuildError > {
487- let writer = LogWriterConfig :: default ( ) ;
488- let log_writer_config =
489- if let Some ( config) = & self . log_writer_config { config } else { & writer } ;
485+ let log_writer_config = self . log_writer_config . clone ( ) . unwrap_or_default ( ) ;
490486 let logger = setup_logger ( & log_writer_config) ?;
491487
492488 let seed_bytes = seed_bytes_from_config (
@@ -519,9 +515,7 @@ impl NodeBuilder {
519515
520516 /// Builds a [`Node`] instance according to the options previously configured.
521517 pub fn build_with_store ( & self , kv_store : Arc < DynStore > ) -> Result < Node , BuildError > {
522- let writer = LogWriterConfig :: default ( ) ;
523- let log_writer_config =
524- if let Some ( config) = & self . log_writer_config { config } else { & writer } ;
518+ let log_writer_config = self . log_writer_config . clone ( ) . unwrap_or_default ( ) ;
525519 let logger = setup_logger ( & log_writer_config) ?;
526520
527521 let seed_bytes = seed_bytes_from_config (
@@ -651,8 +645,8 @@ impl ArcedNodeBuilder {
651645 }
652646
653647 /// Configures the [`Node`] instance to write logs to the `log` facade.
654- pub fn set_log_facade_logger ( & self , lf_config : LogFacadeLoggerConfig ) {
655- self . inner . write ( ) . unwrap ( ) . set_log_facade_logger ( lf_config ) ;
648+ pub fn set_log_facade_logger ( & self , log_level : LogLevel ) {
649+ self . inner . write ( ) . unwrap ( ) . set_log_facade_logger ( log_level ) ;
656650 }
657651
658652 /// Configures the [`Node`] instance to write logs to the provided custom log writer.
@@ -1275,16 +1269,20 @@ fn build_with_store_internal(
12751269fn setup_logger ( config : & LogWriterConfig ) -> Result < Arc < Logger > , BuildError > {
12761270 match config {
12771271 LogWriterConfig :: File ( fs_logger_config) => {
1278- let log_file_path = & fs_logger_config. log_file_path ;
1272+ let log_file_path = if let Some ( fp) = & fs_logger_config. log_file_path {
1273+ fp
1274+ } else {
1275+ & default_log_file_path ( )
1276+ } ;
1277+ let log_level = fs_logger_config. log_level . unwrap_or ( default_log_level ( ) ) ;
12791278
12801279 Ok ( Arc :: new (
1281- Logger :: new_fs_writer ( log_file_path. to_string ( ) , fs_logger_config . level )
1280+ Logger :: new_fs_writer ( log_file_path, log_level )
12821281 . map_err ( |_| BuildError :: LoggerSetupFailed ) ?,
12831282 ) )
12841283 } ,
1285- LogWriterConfig :: Log ( log_facade_logger_config) => Ok ( Arc :: new (
1286- Logger :: new_log_facade ( log_facade_logger_config. level )
1287- . map_err ( |_| BuildError :: LoggerSetupFailed ) ?,
1284+ LogWriterConfig :: Log ( log_level) => Ok ( Arc :: new (
1285+ Logger :: new_log_facade ( * log_level) . map_err ( |_| BuildError :: LoggerSetupFailed ) ?,
12881286 ) ) ,
12891287 LogWriterConfig :: Custom ( custom_log_writer) => Ok ( Arc :: new (
12901288 Logger :: new_custom_writer ( custom_log_writer. clone ( ) )
0 commit comments