Skip to content

Commit a129878

Browse files
committed
(fix):fix map race
1 parent 91d87d8 commit a129878

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

log.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ var (
4747
logrusPackage string
4848
minimumCallerDepth = 1
4949
loggers = make(map[string]*MyLogger)
50-
defaultLogger = NewLogger(DebugLevel, "default")
50+
loggersLock sync.RWMutex
51+
52+
defaultLogger = NewLogger(DebugLevel, "default")
5153
)
5254

5355
// Infof logs a formatted info level log to the console
@@ -125,9 +127,12 @@ func (ml *MyLogger) SetLevel(level Level) {
125127
}
126128

127129
func NewLogger(level Level, prefix string) *logrus.Logger {
130+
loggersLock.RLock()
128131
if logger, found := loggers[prefix]; found {
132+
loggersLock.RUnlock()
129133
return logger.logger
130134
}
135+
loggersLock.RUnlock()
131136
l := logrus.New()
132137
l.SetOutput(os.Stdout)
133138
l.SetReportCaller(true)
@@ -138,11 +143,13 @@ func NewLogger(level Level, prefix string) *logrus.Logger {
138143
TimestampFormat: timeFormat,
139144
})
140145

146+
loggersLock.Lock()
141147
loggers[prefix] = &MyLogger{
142148
logger: l,
143149
level: level,
144150
prefix: prefix,
145151
}
152+
loggersLock.Unlock()
146153
return l
147154
}
148155

0 commit comments

Comments
 (0)