@@ -93,7 +93,6 @@ mod wallet;
9393pub use bip39;
9494pub use bitcoin;
9595pub use lightning;
96- use lightning:: ln:: msgs:: RoutingMessageHandler ;
9796pub use lightning_invoice;
9897
9998pub use error:: Error as NodeError ;
@@ -126,11 +125,13 @@ use lightning::chain::{chainmonitor, BestBlock, Confirm, Watch};
126125use lightning:: ln:: channelmanager:: {
127126 self , ChainParameters , ChannelManagerReadArgs , PaymentId , RecipientOnionFields , Retry ,
128127} ;
128+ use lightning:: ln:: msgs:: RoutingMessageHandler ;
129129use lightning:: ln:: peer_handler:: { IgnoringMessageHandler , MessageHandler } ;
130130use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
131131use lightning:: routing:: scoring:: { ProbabilisticScorer , ProbabilisticScoringParameters } ;
132132
133133use lightning:: util:: config:: { ChannelHandshakeConfig , ChannelHandshakeLimits , UserConfig } ;
134+ pub use lightning:: util:: logger:: Level as LogLevel ;
134135use lightning:: util:: ser:: ReadableArgs ;
135136
136137use lightning_background_processor:: process_events_async;
@@ -173,6 +174,7 @@ const DEFAULT_NETWORK: Network = Network::Bitcoin;
173174const DEFAULT_LISTENING_ADDR : & str = "0.0.0.0:9735" ;
174175const DEFAULT_CLTV_EXPIRY_DELTA : u32 = 144 ;
175176const DEFAULT_ESPLORA_SERVER_URL : & str = "https://blockstream.info/api" ;
177+ const DEFAULT_LOG_LEVEL : LogLevel = LogLevel :: Debug ;
176178
177179// The 'stop gap' parameter used by BDK's wallet sync. This seems to configure the threshold
178180// number of blocks after which BDK stops looking for scripts belonging to the wallet.
@@ -207,6 +209,7 @@ const WALLET_KEYS_SEED_LEN: usize = 64;
207209/// | `network` | Network::Bitcoin |
208210/// | `listening_address` | 0.0.0.0:9735 |
209211/// | `default_cltv_expiry_delta` | 144 |
212+ /// | `log_level` | `Debug` |
210213///
211214pub struct Config {
212215 /// The path where the underlying LDK and BDK persist their data.
@@ -217,6 +220,10 @@ pub struct Config {
217220 pub listening_address : Option < NetAddress > ,
218221 /// The default CLTV expiry delta to be used for payments.
219222 pub default_cltv_expiry_delta : u32 ,
223+ /// The level at which we log messages.
224+ ///
225+ /// Any messages below this level will be excluded from the logs.
226+ pub log_level : LogLevel ,
220227}
221228
222229impl Default for Config {
@@ -226,6 +233,7 @@ impl Default for Config {
226233 network : DEFAULT_NETWORK ,
227234 listening_address : Some ( DEFAULT_LISTENING_ADDR . parse ( ) . unwrap ( ) ) ,
228235 default_cltv_expiry_delta : DEFAULT_CLTV_EXPIRY_DELTA ,
236+ log_level : DEFAULT_LOG_LEVEL ,
229237 }
230238 }
231239}
@@ -348,6 +356,12 @@ impl Builder {
348356 config. listening_address = Some ( listening_address) ;
349357 }
350358
359+ /// Sets the level at which [`Node`] will log messages.
360+ pub fn set_log_level ( & self , level : LogLevel ) {
361+ let mut config = self . config . write ( ) . unwrap ( ) ;
362+ config. log_level = level;
363+ }
364+
351365 /// Builds a [`Node`] instance with a [`FilesystemStore`] backend and according to the options
352366 /// previously configured.
353367 pub fn build ( & self ) -> Arc < Node < FilesystemStore > > {
@@ -371,7 +385,7 @@ impl Builder {
371385
372386 // Initialize the Logger
373387 let log_file_path = format ! ( "{}/ldk_node.log" , config. storage_dir_path) ;
374- let logger = Arc :: new ( FilesystemLogger :: new ( log_file_path) ) ;
388+ let logger = Arc :: new ( FilesystemLogger :: new ( log_file_path, config . log_level ) ) ;
375389
376390 // Initialize the on-chain wallet and chain access
377391 let seed_bytes = match & * self . entropy_source_config . read ( ) . unwrap ( ) {
0 commit comments