github.com/GuanceCloud/cliutils@v1.1.21/pprofparser/tools/logtoolkit/logger.go (about) 1 package logtoolkit 2 3 import ( 4 "sync" 5 6 "github.com/GuanceCloud/cliutils/logger" 7 ) 8 9 var ( 10 defaultLogger *logger.Logger 11 logInitOnce sync.Once 12 loggerPool = make(map[string]*logger.Logger) 13 loggerPoolLock = &sync.Mutex{} 14 ) 15 16 func Logger(name ...string) *logger.Logger { 17 if len(name) == 0 { 18 logInitOnce.Do(func() { 19 defaultLogger = logger.SLogger("global") 20 }) 21 return defaultLogger 22 } 23 24 logName := name[0] 25 if logHandler, ok := loggerPool[logName]; ok { 26 return logHandler 27 } 28 loggerPoolLock.Lock() 29 defer loggerPoolLock.Unlock() 30 if _, ok := loggerPool[logName]; !ok { 31 loggerPool[logName] = logger.SLogger(logName) 32 } 33 return loggerPool[logName] 34 } 35 36 func Info(args ...interface{}) { 37 Logger().Info(args...) 38 } 39 40 func Warn(args ...interface{}) { 41 Logger().Warn(args...) 42 } 43 44 func Error(args ...interface{}) { 45 Logger().Error(args...) 46 } 47 48 func Fatal(args ...interface{}) { 49 Logger().Fatal(args...) 50 } 51 52 func Infof(format string, args ...interface{}) { 53 Logger().Infof(format, args...) 54 } 55 56 func Warnf(format string, args ...interface{}) { 57 Logger().Warnf(format, args...) 58 } 59 60 func Errorf(format string, args ...interface{}) { 61 Logger().Errorf(format, args...) 62 } 63 64 func Fatalf(format string, args ...interface{}) { 65 Logger().Fatalf(format, args...) 66 }