29 lines
728 B
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
|
|
}
|