mirror of
https://github.com/grafana/grafana.git
synced 2025-01-27 16:57:14 -06:00
38 lines
966 B
Go
38 lines
966 B
Go
|
package errutil
|
||
|
|
||
|
type LogLevel string
|
||
|
|
||
|
const (
|
||
|
LevelUnknown LogLevel = ""
|
||
|
LevelNever LogLevel = "never"
|
||
|
LevelDebug LogLevel = "debug"
|
||
|
LevelInfo LogLevel = "info"
|
||
|
LevelWarn LogLevel = "warn"
|
||
|
LevelError LogLevel = "error"
|
||
|
)
|
||
|
|
||
|
// LogInterface is a subset of github.com/grafana/grafana/pkg/infra/log.Logger
|
||
|
// to avoid having to depend on other packages in the module so that
|
||
|
// there's no risk of circular dependencies.
|
||
|
type LogInterface interface {
|
||
|
Debug(msg string, ctx ...interface{})
|
||
|
Info(msg string, ctx ...interface{})
|
||
|
Warn(msg string, ctx ...interface{})
|
||
|
Error(msg string, ctx ...interface{})
|
||
|
}
|
||
|
|
||
|
func (l LogLevel) LogFunc(logger LogInterface) func(msg string, ctx ...interface{}) {
|
||
|
switch l {
|
||
|
case LevelNever:
|
||
|
return func(_ string, _ ...interface{}) {}
|
||
|
case LevelDebug:
|
||
|
return logger.Debug
|
||
|
case LevelInfo:
|
||
|
return logger.Info
|
||
|
case LevelWarn:
|
||
|
return logger.Warn
|
||
|
default: // LevelUnknown and LevelError
|
||
|
return logger.Error
|
||
|
}
|
||
|
}
|