Chore: Logging improvements (#44925) (#44996)

Fixing a couple bugs, adds some tests and hopefully decrease
lock contention when logging.
Switching from using sync.RWMutex to go-kit SwapLogger.
Fixes bug when creating a new logger from an existing one that
screwed up the keyvals and/or lost the logger name.

Ref #44681

(cherry picked from commit 05ea825c76)

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2022-02-07 16:15:14 +01:00
committed by GitHub
co-authored by Marcus Efraimsson
parent be7782032e
commit 6459fd73ed
7 changed files with 187 additions and 99 deletions
+3 -3
View File
@@ -152,16 +152,16 @@ func (s *Server) Run() error {
return s.context.Err()
default:
}
s.log.Debug("Starting background service " + serviceName)
s.log.Debug("Starting background service", "service", serviceName)
err := service.Run(s.context)
// Do not return context.Canceled error since errgroup.Group only
// returns the first error to the caller - thus we can miss a more
// interesting error.
if err != nil && !errors.Is(err, context.Canceled) {
s.log.Error("Stopped background service "+serviceName, "reason", err)
s.log.Error("Stopped background service", "service", serviceName, "reason", err)
return fmt.Errorf("%s run error: %w", serviceName, err)
}
s.log.Debug("Stopped background service "+serviceName, "reason", err)
s.log.Debug("Stopped background service", "service", serviceName, "reason", err)
return nil
})
}