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 }