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  }