77
88use crate :: chain:: { ChainSource , DEFAULT_ESPLORA_SERVER_URL } ;
99use crate :: config:: {
10- default_user_config, Config , EsploraSyncConfig , DEFAULT_LOG_FILE_PATH , DEFAULT_LOG_LEVEL ,
11- DEFAULT_STORAGE_DIR_PATH , WALLET_KEYS_SEED_LEN ,
10+ default_user_config, Config , EsploraSyncConfig , DEFAULT_LOG_LEVEL , WALLET_KEYS_SEED_LEN ,
1211} ;
1312
1413use crate :: connection:: ConnectionManager ;
@@ -111,18 +110,7 @@ impl Default for LiquiditySourceConfig {
111110
112111#[ derive( Clone ) ]
113112enum LogWriterConfig {
114- File {
115- /// The log file path.
116- ///
117- /// This specifies the log file path if a destination other than the storage
118- /// directory, i.e. [`Config::storage_dir_path`], is preferred. If unconfigured,
119- /// defaults to [`DEFAULT_LOG_FILE_PATH`] in default storage directory.
120- log_file_path : Option < String > ,
121- /// This specifies the log level.
122- ///
123- /// If unconfigured, defaults to `Debug`.
124- log_level : Option < LogLevel > ,
125- } ,
113+ File { log_file_path : Option < String > , log_level : Option < LogLevel > } ,
126114 Log ( LogLevel ) ,
127115 Custom ( Arc < dyn LogWriter > ) ,
128116}
@@ -143,15 +131,6 @@ impl std::fmt::Debug for LogWriterConfig {
143131 }
144132}
145133
146- impl Default for LogWriterConfig {
147- fn default ( ) -> Self {
148- Self :: File {
149- log_file_path : Some ( DEFAULT_LOG_FILE_PATH . to_string ( ) ) ,
150- log_level : Some ( DEFAULT_LOG_LEVEL ) ,
151- }
152- }
153- }
154-
155134/// An error encountered during building a [`Node`].
156135///
157136/// [`Node`]: crate::Node
@@ -349,9 +328,11 @@ impl NodeBuilder {
349328
350329 /// Configures the [`Node`] instance to write logs to the filesystem.
351330 ///
352- /// The `log_file_path` defaults to the [`DEFAULT_LOG_FILE_PATH`] in the default
353- /// storage directory if set to None.
354- /// The `log_level` defaults to [`DEFAULT_LOG_LEVEL`] if set to None.
331+ /// The `log_file_path` defaults to [`DEFAULT_LOG_FILENAME`] in the configured
332+ /// [`Config::storage_dir_path`] if set to `None`.
333+ /// The `log_level` defaults to [`DEFAULT_LOG_LEVEL`] if set to `None`.
334+ ///
335+ /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
355336 pub fn set_filesystem_logger (
356337 & mut self , log_file_path : Option < String > , log_level : Option < LogLevel > ,
357338 ) -> & mut Self {
@@ -674,9 +655,11 @@ impl ArcedNodeBuilder {
674655
675656 /// Configures the [`Node`] instance to write logs to the filesystem.
676657 ///
677- /// The `log_file_path` defaults to the [`DEFAULT_LOG_FILENAME`] in the default
678- /// storage directory if set to None.
679- /// The `log_level` defaults to [`DEFAULT_LOG_LEVEL`] if set to None.
658+ /// The `log_file_path` defaults to [`DEFAULT_LOG_FILENAME`] in the configured
659+ /// [`Config::storage_dir_path`] if set to `None`.
660+ /// The `log_level` defaults to [`DEFAULT_LOG_LEVEL`] if set to `None`.
661+ ///
662+ /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
680663 pub fn set_filesystem_logger (
681664 & self , log_file_path : Option < String > , log_level : Option < LogLevel > ,
682665 ) {
@@ -1316,34 +1299,31 @@ fn build_with_store_internal(
13161299}
13171300
13181301/// Sets up the node logger.
1319- ///
1320- /// If `log_writer_conf` is set to None, uses [`LogWriterConfig::default()`].
1321- /// The `node_conf` is provided to access the configured storage directory.
13221302fn setup_logger (
1323- log_writer_conf : & Option < LogWriterConfig > , node_conf : & Config ,
1303+ log_writer_config : & Option < LogWriterConfig > , config : & Config ,
13241304) -> Result < Arc < Logger > , BuildError > {
1325- let is_default = log_writer_conf. is_none ( ) ;
1326- let default_lw_config = LogWriterConfig :: default ( ) ;
1327- let log_writer_config =
1328- if let Some ( conf) = log_writer_conf { conf } else { & default_lw_config } ;
1329-
13301305 let logger = match log_writer_config {
1331- LogWriterConfig :: File { log_file_path, log_level } => {
1332- let fp = DEFAULT_LOG_FILE_PATH
1333- . replace ( DEFAULT_STORAGE_DIR_PATH , & node_conf. storage_dir_path ) ;
1334- let log_file_path =
1335- if is_default { & fp } else { log_file_path. as_ref ( ) . map ( |p| p) . unwrap_or ( & fp) } ;
1336-
1337- let log_level = log_level. unwrap_or ( DEFAULT_LOG_LEVEL ) ;
1306+ Some ( LogWriterConfig :: File { log_file_path, log_level } ) => {
1307+ let log_file_path = log_file_path
1308+ . clone ( )
1309+ . unwrap_or_else ( || format ! ( "{}/DEFAULT_LOG_FILENAME" , config. storage_dir_path) ) ;
1310+ let log_level = log_level. unwrap_or_else ( || DEFAULT_LOG_LEVEL ) ;
13381311
1339- Logger :: new_fs_writer ( log_file_path, log_level)
1312+ Logger :: new_fs_writer ( & log_file_path, log_level)
13401313 . map_err ( |_| BuildError :: LoggerSetupFailed ) ?
13411314 } ,
1342- LogWriterConfig :: Log ( log_level) => Logger :: new_log_facade ( * log_level) ,
1315+ Some ( LogWriterConfig :: Log ( log_level) ) => Logger :: new_log_facade ( * log_level) ,
13431316
1344- LogWriterConfig :: Custom ( custom_log_writer) => {
1317+ Some ( LogWriterConfig :: Custom ( custom_log_writer) ) => {
13451318 Logger :: new_custom_writer ( Arc :: clone ( & custom_log_writer) )
13461319 } ,
1320+ None => {
1321+ // Default to use `FileWriter`
1322+ let log_file_path = format ! ( "{}/DEFAULT_LOG_FILENAME" , config. storage_dir_path) ;
1323+ let log_level = DEFAULT_LOG_LEVEL ;
1324+ Logger :: new_fs_writer ( & log_file_path, log_level)
1325+ . map_err ( |_| BuildError :: LoggerSetupFailed ) ?
1326+ } ,
13471327 } ;
13481328
13491329 Ok ( Arc :: new ( logger) )
0 commit comments