@@ -93,7 +93,6 @@ mod wallet;
93
93
pub use bip39;
94
94
pub use bitcoin;
95
95
pub use lightning;
96
- use lightning:: ln:: msgs:: RoutingMessageHandler ;
97
96
pub use lightning_invoice;
98
97
99
98
pub use error:: Error as NodeError ;
@@ -126,11 +125,13 @@ use lightning::chain::{chainmonitor, BestBlock, Confirm, Watch};
126
125
use lightning:: ln:: channelmanager:: {
127
126
self , ChainParameters , ChannelManagerReadArgs , PaymentId , RecipientOnionFields , Retry ,
128
127
} ;
128
+ use lightning:: ln:: msgs:: RoutingMessageHandler ;
129
129
use lightning:: ln:: peer_handler:: { IgnoringMessageHandler , MessageHandler } ;
130
130
use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
131
131
use lightning:: routing:: scoring:: { ProbabilisticScorer , ProbabilisticScoringParameters } ;
132
132
133
133
use lightning:: util:: config:: { ChannelHandshakeConfig , ChannelHandshakeLimits , UserConfig } ;
134
+ pub use lightning:: util:: logger:: Level as LogLevel ;
134
135
use lightning:: util:: ser:: ReadableArgs ;
135
136
136
137
use lightning_background_processor:: process_events_async;
@@ -173,6 +174,7 @@ const DEFAULT_NETWORK: Network = Network::Bitcoin;
173
174
const DEFAULT_LISTENING_ADDR : & str = "0.0.0.0:9735" ;
174
175
const DEFAULT_CLTV_EXPIRY_DELTA : u32 = 144 ;
175
176
const DEFAULT_ESPLORA_SERVER_URL : & str = "https://blockstream.info/api" ;
177
+ const DEFAULT_LOG_LEVEL : LogLevel = LogLevel :: Debug ;
176
178
177
179
// The 'stop gap' parameter used by BDK's wallet sync. This seems to configure the threshold
178
180
// number of blocks after which BDK stops looking for scripts belonging to the wallet.
@@ -217,6 +219,10 @@ pub struct Config {
217
219
pub listening_address : Option < NetAddress > ,
218
220
/// The default CLTV expiry delta to be used for payments.
219
221
pub default_cltv_expiry_delta : u32 ,
222
+ /// The level at which we log messages.
223
+ ///
224
+ /// Any messages below this level will be excluded from the logs.
225
+ pub log_level : LogLevel ,
220
226
}
221
227
222
228
impl Default for Config {
@@ -226,6 +232,7 @@ impl Default for Config {
226
232
network : DEFAULT_NETWORK ,
227
233
listening_address : Some ( DEFAULT_LISTENING_ADDR . parse ( ) . unwrap ( ) ) ,
228
234
default_cltv_expiry_delta : DEFAULT_CLTV_EXPIRY_DELTA ,
235
+ log_level : DEFAULT_LOG_LEVEL ,
229
236
}
230
237
}
231
238
}
@@ -348,6 +355,12 @@ impl Builder {
348
355
config. listening_address = Some ( listening_address) ;
349
356
}
350
357
358
+ /// Sets the level at which [`Node`] will log messages.
359
+ pub fn set_log_level ( & self , level : LogLevel ) {
360
+ let mut config = self . config . write ( ) . unwrap ( ) ;
361
+ config. log_level = level;
362
+ }
363
+
351
364
/// Builds a [`Node`] instance with a [`FilesystemStore`] backend and according to the options
352
365
/// previously configured.
353
366
pub fn build ( & self ) -> Arc < Node < FilesystemStore > > {
@@ -371,7 +384,7 @@ impl Builder {
371
384
372
385
// Initialize the Logger
373
386
let log_file_path = format ! ( "{}/ldk_node.log" , config. storage_dir_path) ;
374
- let logger = Arc :: new ( FilesystemLogger :: new ( log_file_path) ) ;
387
+ let logger = Arc :: new ( FilesystemLogger :: new ( log_file_path, config . log_level ) ) ;
375
388
376
389
// Initialize the on-chain wallet and chain access
377
390
let seed_bytes = match & * self . entropy_source_config . read ( ) . unwrap ( ) {
0 commit comments