@@ -2,6 +2,7 @@ package klog
22
33import (
44 "context"
5+ "sync"
56
67 "github.com/KyberNetwork/logger"
78)
@@ -12,7 +13,10 @@ func DefaultLogger() Logger {
1213
1314type Logger = logger.Logger
1415
15- var log Logger
16+ var (
17+ log Logger
18+ once sync.Once
19+ )
1620
1721type Configuration struct {
1822 EnableConsole bool
@@ -35,22 +39,26 @@ const (
3539
3640func InitLogger (config Configuration , backend LoggerBackend ) (Logger , error ) {
3741 var err error
38- log , err = logger .InitLogger (logger.Configuration {
39- EnableConsole : config .EnableConsole ,
40- EnableJSONFormat : config .EnableJSONFormat ,
41- ConsoleLevel : config .ConsoleLevel ,
42- EnableFile : config .EnableFile ,
43- FileJSONFormat : config .FileJSONFormat ,
44- FileLevel : config .FileLevel ,
45- FileLocation : config .FileLocation ,
46- }, backend )
42+ once .Do (func () {
43+ log , err = logger .InitLogger (logger.Configuration {
44+ EnableConsole : config .EnableConsole ,
45+ EnableJSONFormat : config .EnableJSONFormat ,
46+ ConsoleLevel : config .ConsoleLevel ,
47+ EnableFile : config .EnableFile ,
48+ FileJSONFormat : config .FileJSONFormat ,
49+ FileLevel : config .FileLevel ,
50+ FileLocation : config .FileLocation ,
51+ }, backend )
52+ })
4753 return log , err
4854}
4955
5056func Log () Logger {
51- if log == nil {
52- log = DefaultLogger ()
53- }
57+ once .Do (func () {
58+ if log == nil {
59+ log = DefaultLogger ()
60+ }
61+ })
5462 return log
5563}
5664
0 commit comments