From 20a4d892408d2f9eddeb3e08de1dcddea2017fcc Mon Sep 17 00:00:00 2001 From: velvettear Date: Thu, 2 Nov 2023 13:30:17 +0100 Subject: [PATCH] added methods to set log level by name and level --- loglevel.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/loglevel.go b/loglevel.go index a87a292..7f2d905 100644 --- a/loglevel.go +++ b/loglevel.go @@ -1,6 +1,8 @@ package loggo import ( + "strings" + "github.com/fatih/color" ) @@ -39,6 +41,38 @@ func SetLogLevel(level logLevel) { currentLevel = level } +// set current log level by name +func SetLogLevelByName(name string) { + switch strings.ToLower(name) { + case DebugLevel.name: + SetLogLevel(DebugLevel) + case InfoLevel.name: + SetLogLevel(InfoLevel) + case WarningLevel.name: + SetLogLevel(WarningLevel) + case ErrorLevel.name: + SetLogLevel(ErrorLevel) + case FatalLevel.name: + SetLogLevel(FatalLevel) + } +} + +// set current log level by level +func SetLogLevelByLevel(level int) { + switch level { + case DebugLevel.level: + SetLogLevel(DebugLevel) + case InfoLevel.level: + SetLogLevel(InfoLevel) + case WarningLevel.level: + SetLogLevel(WarningLevel) + case ErrorLevel.level: + SetLogLevel(ErrorLevel) + case FatalLevel.level: + SetLogLevel(FatalLevel) + } +} + // set the color of a log level func (level *logLevel) SetColor(color color.Color) { level.color = color