@@ -47,15 +47,13 @@ const (
4747)
4848
4949var (
50- Testnet bool
51- Regtest bool
52- Signet bool
50+ Testnet bool
51+ Regtest bool
52+ Signet bool
53+ NoLogFile bool
54+
55+ log btclog.Logger
5356
54- logWriter = build .NewRotatingLogWriter ()
55- subLogMgr = build .NewSubLoggerManager (build .NewDefaultLogHandlers (
56- build .DefaultLogConfig (), logWriter ,
57- )... )
58- log = build .NewSubLogger ("CHAN" , genSubLogger (subLogMgr ))
5957 chainParams = & chaincfg .MainNetParams
6058)
6159
@@ -103,6 +101,11 @@ func main() {
103101 & Signet , "signet" , "s" , false , "Indicates if the public " +
104102 "signet parameters should be used" ,
105103 )
104+ rootCmd .PersistentFlags ().BoolVar (
105+ & NoLogFile , "nologfile" , false , "If set, no log file " +
106+ "will be created. This is useful for testing purposes " +
107+ "where we don't want to create a log file." ,
108+ )
106109
107110 rootCmd .AddCommand (
108111 newChanBackupCommand (),
@@ -328,28 +331,34 @@ func readInput(input string) ([]byte, error) {
328331}
329332
330333func setupLogging () {
331- setSubLogger ("CHAN" , log )
332- addSubLogger ("CHDB" , channeldb .UseLogger )
333- addSubLogger ("BCKP" , chanbackup .UseLogger )
334- addSubLogger ("PEER" , peer .UseLogger )
335-
336- err := logWriter .InitLogRotator (
337- & build.FileLoggerConfig {
338- Compressor : build .Gzip ,
339- MaxLogFiles : 3 ,
340- MaxLogFileSize : 10 ,
341- },
342- "./results/chantools.log" ,
343- )
344- if err != nil {
345- panic (err )
346- }
347-
334+ logWriter := build .NewRotatingLogWriter ()
348335 subLogMgr := build .NewSubLoggerManager (build .NewDefaultLogHandlers (
349336 build .DefaultLogConfig (), logWriter ,
350337 )... )
351338
352- err = build .ParseAndSetDebugLevels ("debug" , subLogMgr )
339+ log = build .NewSubLogger ("CHAN" , genSubLogger (subLogMgr ))
340+ log .SetLevel (btclog .LevelDebug )
341+
342+ setSubLogger (subLogMgr , "CHAN" , log )
343+ addSubLogger (subLogMgr , "CHDB" , channeldb .UseLogger )
344+ addSubLogger (subLogMgr , "BCKP" , chanbackup .UseLogger )
345+ addSubLogger (subLogMgr , "PEER" , peer .UseLogger )
346+
347+ if ! NoLogFile {
348+ err := logWriter .InitLogRotator (
349+ & build.FileLoggerConfig {
350+ Compressor : build .Gzip ,
351+ MaxLogFiles : 3 ,
352+ MaxLogFileSize : 10 ,
353+ },
354+ "./results/chantools.log" ,
355+ )
356+ if err != nil {
357+ panic (err )
358+ }
359+ }
360+
361+ err := build .ParseAndSetDebugLevels ("debug" , subLogMgr )
353362 if err != nil {
354363 panic (err )
355364 }
@@ -364,17 +373,19 @@ func genSubLogger(mgr *build.SubLoggerManager) func(string) btclog.Logger {
364373
365374// addSubLogger is a helper method to conveniently create and register the
366375// logger of one or more sub systems.
367- func addSubLogger (subsystem string , useLoggers ... func (btclog.Logger )) {
376+ func addSubLogger (subLogMgr * build.SubLoggerManager , subsystem string ,
377+ useLoggers ... func (btclog.Logger )) {
378+
368379 // Create and register just a single logger to prevent them from
369380 // overwriting each other internally.
370381 logger := build .NewSubLogger (subsystem , genSubLogger (subLogMgr ))
371- setSubLogger (subsystem , logger , useLoggers ... )
382+ setSubLogger (subLogMgr , subsystem , logger , useLoggers ... )
372383}
373384
374385// setSubLogger is a helper method to conveniently register the logger of a sub
375386// system.
376- func setSubLogger (subsystem string , logger btclog. Logger ,
377- useLoggers ... func (btclog.Logger )) {
387+ func setSubLogger (subLogMgr * build. SubLoggerManager , subsystem string ,
388+ logger btclog. Logger , useLoggers ... func (btclog.Logger )) {
378389
379390 subLogMgr .RegisterSubLogger (subsystem , logger )
380391 for _ , useLogger := range useLoggers {
0 commit comments