Files
golib/hlog/levels.go

29 lines
728 B
Go

package hlog
import (
"github.com/pkg/errors"
"github.com/rs/zerolog"
)
type Level = zerolog.Level
// Takes a log level as string and converts it to a Level interface.
// If the string is not a valid input it will return InfoLevel
// Valid levels: trace, debug, info, warn, error, fatal, panic
func LogLevel(level string) (Level, error) {
levels := map[string]zerolog.Level{
"trace": zerolog.TraceLevel,
"debug": zerolog.DebugLevel,
"info": zerolog.InfoLevel,
"warn": zerolog.WarnLevel,
"error": zerolog.ErrorLevel,
"fatal": zerolog.FatalLevel,
"panic": zerolog.PanicLevel,
}
logLevel, valid := levels[level]
if !valid {
return 0, errors.New("Invalid log level specified.")
}
return logLevel, nil
}