From 3ca2c363fe360974e8a32eb04f27b0d96e3d5784 Mon Sep 17 00:00:00 2001 From: Oliver Gugger Date: Fri, 20 Sep 2019 16:22:02 +0200 Subject: [PATCH] lnd+rpcserver: initialize new log writer correctly --- config.go | 25 +++++++++++++++---------- lnd.go | 8 ++++---- rpcserver.go | 10 ++++++---- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/config.go b/config.go index 88467807..4d85fb29 100644 --- a/config.go +++ b/config.go @@ -951,27 +951,32 @@ func loadConfig() (*config, error) { normalizeNetwork(activeNetParams.Name)) // Special show command to list supported subsystems and exit. - /*TODO(guggero) fix if cfg.DebugLevel == "show" { - fmt.Println("Supported subsystems", supportedSubsystems()) + fmt.Println("Supported subsystems", + logWriter.SupportedSubsystems()) os.Exit(0) - }*/ + } // Initialize logging at the default logging level. - /*TODO(guggero) fix - initLogRotator( + err = logWriter.InitLogRotator( filepath.Join(cfg.LogDir, defaultLogFilename), cfg.MaxLogFileSize, cfg.MaxLogFiles, - )*/ + ) + if err != nil { + str := "%s: log rotation setup failed: %v" + err = fmt.Errorf(str, funcName, err.Error()) + fmt.Fprintln(os.Stderr, err) + return nil, err + } // Parse, validate, and set debug log level(s). - /*TODO(guggero) fix - if err := parseAndSetDebugLevels(cfg.DebugLevel); err != nil { - err := fmt.Errorf("%s: %v", funcName, err.Error()) + err = build.ParseAndSetDebugLevels(cfg.DebugLevel, logWriter) + if err != nil { + err = fmt.Errorf("%s: %v", funcName, err.Error()) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, err - }*/ + } // At least one RPCListener is required. So listen on localhost per // default. diff --git a/lnd.go b/lnd.go index cd650685..d1f4e80b 100644 --- a/lnd.go +++ b/lnd.go @@ -125,10 +125,10 @@ func Main(lisCfg ListenerCfg) error { cfg = loadedConfig defer func() { ltndLog.Info("Shutdown complete") - /* TODO(guggero) fix after refactor - if logRotator != nil { - logRotator.Close() - }*/ + err := logWriter.Close() + if err != nil { + ltndLog.Errorf("Could not close log rotator: %v", err) + } }() // Show version at startup. diff --git a/rpcserver.go b/rpcserver.go index b9b1bc5a..67f5e9a4 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -12,6 +12,7 @@ import ( "net" "net/http" "sort" + "strings" "sync" "sync/atomic" "time" @@ -4342,7 +4343,9 @@ func (r *rpcServer) DebugLevel(ctx context.Context, // sub-systems. if req.Show { return &lnrpc.DebugLevelResponse{ - SubSystems: "", //TODO(guggero) fix strings.Join(supportedSubsystems(), " "), + SubSystems: strings.Join( + logWriter.SupportedSubsystems(), " ", + ), }, nil } @@ -4350,11 +4353,10 @@ func (r *rpcServer) DebugLevel(ctx context.Context, // Otherwise, we'll attempt to set the logging level using the // specified level spec. - /*TODO(guggero) fix - if err := parseAndSetDebugLevels(req.LevelSpec); err != nil { + err := build.ParseAndSetDebugLevels(req.LevelSpec, logWriter) + if err != nil { return nil, err } - */ return &lnrpc.DebugLevelResponse{}, nil }