Skip to content

Commit 682fb11

Browse files
committed
Slightly clean up setup_logger logic
We slightly improve readability of `setup_logger`, and also clean up some of the `DEFAULT` consts while we're at it.
1 parent 96522d9 commit 682fb11

File tree

2 files changed

+30
-50
lines changed

2 files changed

+30
-50
lines changed

src/builder.rs

Lines changed: 28 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77

88
use crate::chain::{ChainSource, DEFAULT_ESPLORA_SERVER_URL};
99
use 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

1413
use crate::connection::ConnectionManager;
@@ -111,18 +110,7 @@ impl Default for LiquiditySourceConfig {
111110

112111
#[derive(Clone)]
113112
enum 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.
13221302
fn 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))

src/config.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ const DEFAULT_ANCHOR_PER_CHANNEL_RESERVE_SATS: u64 = 25_000;
3232
/// The default log level.
3333
pub const DEFAULT_LOG_LEVEL: LogLevel = LogLevel::Debug;
3434

35-
/// The default log file path.
36-
pub const DEFAULT_LOG_FILE_PATH: &'static str = "/tmp/ldk_node/ldk_node.log";
35+
/// The default log file name.
36+
pub const DEFAULT_LOG_FILENAME: &'static str = "ldk_node.log";
3737

3838
/// The default storage directory.
3939
pub const DEFAULT_STORAGE_DIR_PATH: &str = "/tmp/ldk_node";

0 commit comments

Comments
 (0)