code.gitea.io/gitea@v1.19.3/modules/log/provider.go (about) 1 // Copyright 2019 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package log 5 6 // LoggerProvider represents behaviors of a logger provider. 7 type LoggerProvider interface { 8 Init(config string) error 9 Content() (string, error) 10 EventLogger 11 } 12 13 type loggerProvider func() LoggerProvider 14 15 var providers = make(map[string]loggerProvider) 16 17 // Register registers given logger provider to providers. 18 func Register(name string, log loggerProvider) { 19 if log == nil { 20 panic("log: register provider is nil") 21 } 22 if _, dup := providers[name]; dup { 23 panic("log: register called twice for provider \"" + name + "\"") 24 } 25 providers[name] = log 26 }