Re-use logger instance (#1176)

This commit is contained in:
Benjamin Böhmke 2021-06-26 10:04:03 +02:00 • committed by GitHub
parent 71ae0defff
commit 601410055e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -36,6 +36,13 @@ type Logger struct {
// NewLogger creates a logger with the given log area and adds it to the registry
func NewLogger(area string) *Logger {
loggersMux.Lock()
defer loggersMux.Unlock()
if logger, ok := loggers[area]; ok {
return logger
}
padded := area
for len(padded) < LogAreaPadding {
padded = padded + " "
@ -44,9 +51,6 @@ func NewLogger(area string) *Logger {
level := LogLevelForArea(area)
notepad := jww.NewNotepad(level, level, os.Stdout, io.Discard, padded, log.Ldate|log.Ltime)
loggersMux.Lock()
defer loggersMux.Unlock()
logger := &Logger{
Notepad: notepad,
name: area,