mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
reinstate use of atomic.Value for holding root logger object
This commit is contained in:
parent
31dcb3daa8
commit
0031bebd98
1 changed files with 6 additions and 4 deletions
10
log/root.go
10
log/root.go
|
|
@ -2,11 +2,12 @@ package log
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
"sync/atomic"
|
||||||
|
|
||||||
"golang.org/x/exp/slog"
|
"golang.org/x/exp/slog"
|
||||||
)
|
)
|
||||||
|
|
||||||
var root Logger
|
var root atomic.Value
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
defaultLogger := &logger{slog.New(DiscardHandler())}
|
defaultLogger := &logger{slog.New(DiscardHandler())}
|
||||||
|
|
@ -15,13 +16,14 @@ func init() {
|
||||||
|
|
||||||
// SetDefault sets the default global logger
|
// SetDefault sets the default global logger
|
||||||
func SetDefault(l Logger) {
|
func SetDefault(l Logger) {
|
||||||
root = l
|
root.Store(l)
|
||||||
slog.SetDefault(root.Inner())
|
slog.SetDefault(l.Inner())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Root returns the root logger
|
// Root returns the root logger
|
||||||
func Root() Logger {
|
func Root() Logger {
|
||||||
return root
|
res, _ := root.Load().(Logger)
|
||||||
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following functions bypass the exported logger methods (logger.Debug,
|
// The following functions bypass the exported logger methods (logger.Debug,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue