From 3d443339e504165ad4c18d2e1370f3a5f523074e Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Mon, 6 Mar 2017 16:28:38 +1000 Subject: [PATCH] logger: Initial colours --- irc/logger.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/irc/logger.go b/irc/logger.go index d520c812..db2dff8f 100644 --- a/irc/logger.go +++ b/irc/logger.go @@ -8,6 +8,8 @@ import ( "fmt" "os" "time" + + "github.com/mgutz/ansi" ) // LogLevel represents the level to log messages at. @@ -139,11 +141,29 @@ func (logger *SingleLogger) Log(level LogLevel, logType, object, message string) } // assemble full line - fullString := fmt.Sprintf("%s : %s : %s : %s : %s", time.Now().UTC().Format("2006-01-02T15:04:05Z"), logLevelDisplayNames[level], logType, object, message) + grey := ansi.ColorFunc("8") + alert := ansi.ColorFunc("232+b:red") + warn := ansi.ColorFunc("black:214") + info := ansi.ColorFunc("33") + debug := ansi.ColorFunc("78") + + levelDisplay := logLevelDisplayNames[level] + if level == LogError { + levelDisplay = alert(levelDisplay) + } else if level == LogWarn { + levelDisplay = warn(levelDisplay) + } else if level == LogInfo { + levelDisplay = info(levelDisplay) + } else if level == LogDebug { + levelDisplay = debug(levelDisplay) + } + + fullStringFormatted := fmt.Sprintf("%s %s : %s : %s : %s", grey(time.Now().UTC().Format("2006-01-02T15:04:05Z")), levelDisplay, logType, object, message) + fullString := fmt.Sprintf("%s %s : %s : %s : %s", time.Now().UTC().Format("2006-01-02T15:04:05Z"), logLevelDisplayNames[level], logType, object, message) // output if logger.MethodSTDERR { - fmt.Fprintln(os.Stderr, fullString) + fmt.Fprintln(os.Stderr, fullStringFormatted) } if logger.MethodFile.Enabled { logger.MethodFile.Writer.WriteString(fullString + "\n")