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 }