raft: use mutex in "SetLogger" to avoid race conditions in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>release-3.4
parent
c6e3401255
commit
4e43a082b2
|
@ -19,6 +19,7 @@ import (
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Logger interface {
|
type Logger interface {
|
||||||
|
@ -41,11 +42,16 @@ type Logger interface {
|
||||||
Panicf(format string, v ...interface{})
|
Panicf(format string, v ...interface{})
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetLogger(l Logger) { raftLogger = l }
|
func SetLogger(l Logger) {
|
||||||
|
raftLoggerMu.Lock()
|
||||||
|
raftLogger = l
|
||||||
|
raftLoggerMu.Unlock()
|
||||||
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
defaultLogger = &DefaultLogger{Logger: log.New(os.Stderr, "raft", log.LstdFlags)}
|
defaultLogger = &DefaultLogger{Logger: log.New(os.Stderr, "raft", log.LstdFlags)}
|
||||||
discardLogger = &DefaultLogger{Logger: log.New(ioutil.Discard, "", 0)}
|
discardLogger = &DefaultLogger{Logger: log.New(ioutil.Discard, "", 0)}
|
||||||
|
raftLoggerMu sync.Mutex
|
||||||
raftLogger = Logger(defaultLogger)
|
raftLogger = Logger(defaultLogger)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue