66// accordance with one or both of these licenses.
77
88use crate :: chain:: { ChainSource , DEFAULT_ESPLORA_SERVER_URL } ;
9- use crate :: config:: { default_user_config, Config , EsploraSyncConfig , WALLET_KEYS_SEED_LEN } ;
9+ use crate :: config:: {
10+ default_user_config, Config , EsploraSyncConfig , LoggingConfig , WALLET_KEYS_SEED_LEN ,
11+ } ;
1012
1113use crate :: connection:: ConnectionManager ;
1214use crate :: event:: EventQueue ;
@@ -29,8 +31,8 @@ use crate::types::{
2931} ;
3032use crate :: wallet:: persist:: KVStoreWalletPersister ;
3133use crate :: wallet:: Wallet ;
34+ use crate :: Node ;
3235use crate :: { io, NodeMetrics } ;
33- use crate :: { LogLevel , Node } ;
3436
3537use lightning:: chain:: { chainmonitor, BestBlock , Watch } ;
3638use lightning:: io:: Cursor ;
@@ -300,12 +302,6 @@ impl NodeBuilder {
300302 self
301303 }
302304
303- /// Sets the log dir path if logs need to live separate from the storage directory path.
304- pub fn set_log_dir_path ( & mut self , log_dir_path : String ) -> & mut Self {
305- self . config . log_dir_path = Some ( log_dir_path) ;
306- self
307- }
308-
309305 /// Sets the Bitcoin network used.
310306 pub fn set_network ( & mut self , network : Network ) -> & mut Self {
311307 self . config . network = network;
@@ -335,12 +331,6 @@ impl NodeBuilder {
335331 Ok ( self )
336332 }
337333
338- /// Sets the level at which [`Node`] will log messages.
339- pub fn set_log_level ( & mut self , level : LogLevel ) -> & mut Self {
340- self . config . log_level = level;
341- self
342- }
343-
344334 /// Builds a [`Node`] instance with a [`SqliteStore`] backend and according to the options
345335 /// previously configured.
346336 pub fn build ( & self ) -> Result < Node , BuildError > {
@@ -1234,20 +1224,21 @@ fn build_with_store_internal(
12341224}
12351225
12361226fn setup_logger ( config : & Config ) -> Result < Arc < LdkNodeLogger > , BuildError > {
1237- let log_dir = match & config. log_dir_path {
1238- Some ( log_dir) => String :: from ( log_dir) ,
1239- None => config. storage_dir_path . clone ( ) + "/logs" ,
1240- } ;
1241- let filesystem_log_writer =
1242- FilesystemLogWriter :: new ( log_dir. clone ( ) ) . map_err ( |_| BuildError :: LoggerSetupFailed ) ?;
1243- Ok ( Arc :: new (
1244- LdkNodeLogger :: new (
1245- config. log_level ,
1246- Box :: new ( default_format) ,
1247- Box :: new ( move |s| filesystem_log_writer. write ( s) ) ,
1248- )
1249- . map_err ( |_| BuildError :: LoggerSetupFailed ) ?,
1250- ) )
1227+ match config. logging_config {
1228+ LoggingConfig :: Custom ( ref logger) => Ok ( logger. clone ( ) ) ,
1229+ LoggingConfig :: Filesystem { ref log_dir, log_level } => {
1230+ let filesystem_log_writer = FilesystemLogWriter :: new ( log_dir. clone ( ) )
1231+ . map_err ( |_| BuildError :: LoggerSetupFailed ) ?;
1232+ Ok ( Arc :: new (
1233+ LdkNodeLogger :: new (
1234+ log_level,
1235+ Box :: new ( default_format) ,
1236+ Box :: new ( move |s| filesystem_log_writer. write ( s) ) ,
1237+ )
1238+ . map_err ( |_| BuildError :: LoggerSetupFailed ) ?,
1239+ ) )
1240+ } ,
1241+ }
12511242}
12521243
12531244fn seed_bytes_from_config (
0 commit comments