@@ -236,9 +236,40 @@ 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
242273#[ derive( Debug ) ]
243274pub struct NodeBuilder {
244275 config : Config ,
@@ -472,6 +503,10 @@ impl NodeBuilder {
472503 /// If set, the `max_log_level` sets the maximum log level. Otherwise, the latter defaults to
473504 /// [`DEFAULT_LOG_LEVEL`].
474505 ///
506+ /// **Note:** Log rotation and pruning are the responsibility of the user and are not handled
507+ /// internally. For example, UNIX system tooling such as `logrotate` and `cron` can be used to
508+ /// manage log file sizes and retention.
509+ ///
475510 /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
476511 pub fn set_filesystem_logger (
477512 & mut self , log_file_path : Option < String > , max_log_level : Option < LogLevel > ,
@@ -764,9 +799,41 @@ impl NodeBuilder {
764799/// the getgo.
765800///
766801/// ### Defaults
767- /// - Wallet entropy is sourced from a `keys_seed` file located under [`Config::storage_dir_path`]
802+ /// - See [`Config`] for the default values of all configuration options.
768803/// - Chain data is sourced from the Esplora endpoint `https://blockstream.info/api`
769804/// - Gossip data is sourced via the peer-to-peer network
805+ /// - Logs are written to the filesystem (see [Logging] below)
806+ ///
807+ /// ### Storage
808+ ///
809+ /// Several `build` methods are available depending on the desired storage backend:
810+ /// - [`build`] uses an SQLite database (recommended default).
811+ /// - [`build_with_fs_store`] uses a filesystem-based store.
812+ /// - [`build_with_vss_store`] and variants use a [VSS] remote store (**experimental**).
813+ /// - [`build_with_store`] allows providing a custom [`KVStore`] implementation.
814+ ///
815+ /// ### Logging
816+ ///
817+ /// By default, logs are written to the filesystem via an internal file logger at
818+ /// [`DEFAULT_LOG_LEVEL`]. The log file path and level can be customized via
819+ /// [`set_filesystem_logger`].
820+ ///
821+ /// Alternatively, logs can be written to the [`log`] facade via [`set_log_facade_logger`], or to
822+ /// a custom [`LogWriter`] via [`set_custom_logger`].
823+ ///
824+ /// [`build`]: Self::build
825+ /// [`build_with_fs_store`]: Self::build_with_fs_store
826+ /// [`build_with_vss_store`]: Self::build_with_vss_store
827+ /// [`build_with_store`]: Self::build_with_store
828+ /// [VSS]: https://github.com/lightningdevkit/vss-server/blob/main/README.md
829+ /// [`KVStore`]: lightning::util::persist::KVStore
830+ /// [`DEFAULT_LOG_LEVEL`]: crate::config::DEFAULT_LOG_LEVEL
831+ /// [`set_filesystem_logger`]: Self::set_filesystem_logger
832+ /// [`set_log_facade_logger`]: Self::set_log_facade_logger
833+ /// [`set_custom_logger`]: Self::set_custom_logger
834+ /// [`log`]: https://crates.io/crates/log
835+ /// [Logging]: #logging
836+ /// [Storage]: #storage
770837#[ derive( Debug ) ]
771838#[ cfg( feature = "uniffi" ) ]
772839pub struct ArcedNodeBuilder {
@@ -937,6 +1004,10 @@ impl ArcedNodeBuilder {
9371004 /// If set, the `max_log_level` sets the maximum log level. Otherwise, the latter defaults to
9381005 /// [`DEFAULT_LOG_LEVEL`].
9391006 ///
1007+ /// **Note:** Log rotation and pruning are the responsibility of the user and are not handled
1008+ /// internally. For example, UNIX system tooling such as `logrotate` and `cron` can be used to
1009+ /// manage log file sizes and retention.
1010+ ///
9401011 /// [`DEFAULT_LOG_FILENAME`]: crate::config::DEFAULT_LOG_FILENAME
9411012 pub fn set_filesystem_logger (
9421013 & self , log_file_path : Option < String > , log_level : Option < LogLevel > ,
0 commit comments