diff --git a/logger.go b/logger.go index 0dd4b07..b9cfd91 100644 --- a/logger.go +++ b/logger.go @@ -58,8 +58,6 @@ func (l *Logger) log(level Level, msg interface{}, keyvals ...interface{}) { return } - l.mu.Lock() - defer l.mu.Unlock() defer l.b.Reset() var kvs []interface{} @@ -98,6 +96,7 @@ func (l *Logger) log(level Level, msg interface{}, keyvals ...interface{}) { kvs = append(kvs, ErrMissingValue) } + l.mu.Lock() switch l.formatter { case LogfmtFormatter: l.logfmtFormatter(kvs...) @@ -106,6 +105,7 @@ func (l *Logger) log(level Level, msg interface{}, keyvals ...interface{}) { default: l.textFormatter(kvs...) } + l.mu.Unlock() _, _ = l.w.Write(l.b.Bytes()) }