- // Copyright 2019 The Gitea Authors. All rights reserved.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package log
-
- // LoggerProvider represents behaviors of a logger provider.
- type LoggerProvider interface {
- Init(config string) error
- EventLogger
- }
-
- type loggerProvider func() LoggerProvider
-
- var providers = make(map[string]loggerProvider)
-
- // Register registers given logger provider to providers.
- func Register(name string, log loggerProvider) {
- if log == nil {
- panic("log: register provider is nil")
- }
- if _, dup := providers[name]; dup {
- panic("log: register called twice for provider \"" + name + "\"")
- }
- providers[name] = log
- }
|