func (h *Hub) Logger(n string) *zap.Logger {
	h.mu.Lock()
	defer h.mu.Unlock()
	if h.sentryHub == nil {
		h.sentryHub = sentry.CurrentHub()
	}
	if h.loggers == nil {
		h.loggers = make(map[string]*zap.Logger)
	}
	if logger, ok := h.loggers[n]; ok {
		return logger
	}
	logger := zap.New(zapcore.NewTee(
		core(n),
		&zapsentry.Core{
			Hub:          h.sentryHub,
			LevelEnabler: SentryLevel,
		},
	)).Named(n)
	h.loggers[n] = logger
	return logger
}
// Logger returns a named logger that
// level based on ConsoleLevel, SentryLevel and DebugLoggerName .
Logger returns a named logger that
level based on ConsoleLevel, SentryLevel and DebugLoggerName .
// Logger returns a named logger that // level based on ConsoleLevel SentryLevel and DebugLoggerName .
func (h *Hub) Logger(n string) *zap.Logger {
	h.mu.Lock()
	defer h.mu.Unlock()
	if h.sentryHub == nil {
		h.sentryHub = sentry.CurrentHub()
	}
	if h.loggers == nil {
		h.loggers = make(map[string]*zap.Logger)
	}
	if logger, ok := h.loggers[n]; ok {
		return logger
	}
	logger := zap.New(zapcore.NewTee(
		core(n),
		&zapsentry.Core{
			Hub:          h.sentryHub,
			LevelEnabler: SentryLevel,
		},
	)).Named(n)
	h.loggers[n] = logger
	return logger
}
func ( h * Hub ) Logger ( n string ) * zap . Logger { h . mu . Lock ( ) defer h . mu . Unlock ( ) if h . sentryHub == nil { h . sentryHub = sentry . CurrentHub ( ) } if h . loggers == nil { h . loggers = make ( map [ string ] * zap . Logger ) } if logger , ok := h . loggers [ n ] ; ok { return logger } logger := zap . New ( zapcore . NewTee ( core ( n ) , & zapsentry . Core { Hub : h . sentryHub , LevelEnabler : SentryLevel , } , ) ) . Named ( n ) h . loggers [ n ] = logger return logger }
Logger returns a named logger that
level based on ConsoleLevel, SentryLevel and DebugLoggerName .
Logger returns a named logger that level based on ConsoleLevel SentryLevel and DebugLoggerName .