@@ -236,9 +236,41 @@ impl std::error::Error for BuildError {}
236236/// the getgo.
237237///
238238/// ### Defaults
239- /// - Wallet entropy is sourced from a `keys_seed` file located under [`Config::storage_dir_path`]
239+ /// - See [`Config`] for the default values of all configuration options.
240240/// - Chain data is sourced from the Esplora endpoint `https://blockstream.info/api`
241241/// - Gossip data is sourced via the peer-to-peer network
242+ /// - Logs are written to the filesystem (see [Logging] below)
243+ ///
244+ /// ### Storage
245+ ///
246+ /// Several `build` methods are available depending on the desired storage backend:
247+ /// - [`build`] uses an SQLite database (recommended default).
248+ /// - [`build_with_fs_store`] uses a filesystem-based store.
249+ /// - [`build_with_vss_store`] and variants use a [VSS] remote store (**experimental**).
250+ /// - [`build_with_store`] allows providing a custom [`KVStore`] implementation.
251+ ///
252+ /// ### Logging
253+ ///
254+ /// By default, logs are written to the filesystem via an internal file logger at
255+ /// [`DEFAULT_LOG_LEVEL`]. The log file path and level can be customized via
256+ /// [`set_filesystem_logger`].
257+ ///
258+ /// Alternatively, logs can be written to the [`log`] facade via [`set_log_facade_logger`], or to
259+ /// a custom [`LogWriter`] via [`set_custom_logger`].
260+ ///
261+ /// [`build`]: Self::build
262+ /// [`build_with_fs_store`]: Self::build_with_fs_store
263+ /// [`build_with_vss_store`]: Self::build_with_vss_store
264+ /// [`build_with_store`]: Self::build_with_store
265+ /// [VSS]: https://github.com/lightningdevkit/vss-server/blob/main/README.md
266+ /// [`KVStore`]: lightning::util::persist::KVStore
267+ /// [`DEFAULT_LOG_LEVEL`]: crate::config::DEFAULT_LOG_LEVEL
268+ /// [`set_filesystem_logger`]: Self::set_filesystem_logger
269+ /// [`set_log_facade_logger`]: Self::set_log_facade_logger
270+ /// [`set_custom_logger`]: Self::set_custom_logger
271+ /// [`log`]: https://crates.io/crates/log
272+ /// [Logging]: #logging
273+ /// [Storage]: #storage
242274#[ derive( Debug ) ]
243275pub struct NodeBuilder {
244276 config : Config ,
@@ -472,6 +504,10 @@ impl NodeBuilder {
472504 /// If set, the `max_log_level` sets the maximum log level. Otherwise, the latter defaults to
473505 /// [`DEFAULT_LOG_LEVEL`].
474506 ///
507+ /// **Note:** Log rotation and pruning are the responsibility of the user and are not handled
508+ /// internally. For example, UNIX system tooling such as `logrotate` and `cron` can be used to
509+ /// manage log file sizes and retention.
510+ ///
475511 /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
476512 pub fn set_filesystem_logger (
477513 & mut self , log_file_path : Option < String > , max_log_level : Option < LogLevel > ,
@@ -764,9 +800,41 @@ impl NodeBuilder {
764800/// the getgo.
765801///
766802/// ### Defaults
767- /// - Wallet entropy is sourced from a `keys_seed` file located under [`Config::storage_dir_path`]
803+ /// - See [`Config`] for the default values of all configuration options.
768804/// - Chain data is sourced from the Esplora endpoint `https://blockstream.info/api`
769805/// - Gossip data is sourced via the peer-to-peer network
806+ /// - Logs are written to the filesystem (see [Logging] below)
807+ ///
808+ /// ### Storage
809+ ///
810+ /// Several `build` methods are available depending on the desired storage backend:
811+ /// - [`build`] uses an SQLite database (recommended default).
812+ /// - [`build_with_fs_store`] uses a filesystem-based store.
813+ /// - [`build_with_vss_store`] and variants use a [VSS] remote store (**experimental**).
814+ /// - [`build_with_store`] allows providing a custom [`KVStore`] implementation.
815+ ///
816+ /// ### Logging
817+ ///
818+ /// By default, logs are written to the filesystem via an internal file logger at
819+ /// [`DEFAULT_LOG_LEVEL`]. The log file path and level can be customized via
820+ /// [`set_filesystem_logger`].
821+ ///
822+ /// Alternatively, logs can be written to the [`log`] facade via [`set_log_facade_logger`], or to
823+ /// a custom [`LogWriter`] via [`set_custom_logger`].
824+ ///
825+ /// [`build`]: Self::build
826+ /// [`build_with_fs_store`]: Self::build_with_fs_store
827+ /// [`build_with_vss_store`]: Self::build_with_vss_store
828+ /// [`build_with_store`]: Self::build_with_store
829+ /// [VSS]: https://github.com/lightningdevkit/vss-server/blob/main/README.md
830+ /// [`KVStore`]: lightning::util::persist::KVStore
831+ /// [`DEFAULT_LOG_LEVEL`]: crate::config::DEFAULT_LOG_LEVEL
832+ /// [`set_filesystem_logger`]: Self::set_filesystem_logger
833+ /// [`set_log_facade_logger`]: Self::set_log_facade_logger
834+ /// [`set_custom_logger`]: Self::set_custom_logger
835+ /// [`log`]: https://crates.io/crates/log
836+ /// [Logging]: #logging
837+ /// [Storage]: #storage
770838#[ derive( Debug ) ]
771839#[ cfg( feature = "uniffi" ) ]
772840pub struct ArcedNodeBuilder {
@@ -937,6 +1005,10 @@ impl ArcedNodeBuilder {
9371005 /// If set, the `max_log_level` sets the maximum log level. Otherwise, the latter defaults to
9381006 /// [`DEFAULT_LOG_LEVEL`].
9391007 ///
1008+ /// **Note:** Log rotation and pruning are the responsibility of the user and are not handled
1009+ /// internally. For example, UNIX system tooling such as `logrotate` and `cron` can be used to
1010+ /// manage log file sizes and retention.
1011+ ///
9401012 /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
9411013 pub fn set_filesystem_logger (
9421014 & self , log_file_path : Option < String > , log_level : Option < LogLevel > ,
0 commit comments