gitee.com/zhongguo168a/gocodes@v0.0.0-20230609140523-e1828349603f/myx/logx/log-manager.go (about)

     1  package logx
     2  
     3  import (
     4  	"gitee.com/zhongguo168a/gocodes/myx/logx/iface"
     5  	"sync"
     6  )
     7  
     8  var loggers = &sync.Map{}
     9  
    10  // RegisterDefault 注册默认的日志处理器
    11  func RegisterDefault(val iface.ILogger) {
    12  	logger = val
    13  }
    14  
    15  // RegisterLogger 注册指定标签[key]的日志处理器
    16  // 关联 logx.UseLogger
    17  func RegisterLogger(key string, val iface.ILogger) {
    18  	loggers.Store(key, val)
    19  }
    20  
    21  // UseLogger 获取指定的日志处理器
    22  func UseLogger(key string) (val iface.ILogger) {
    23  	ival, ok := loggers.Load(key)
    24  	if ok == false {
    25  		panic("logger not found: " + key)
    26  	}
    27  	val = ival.(iface.ILogger)
    28  	return
    29  }