/* Package logger provides a simple logger for the application. */ package logger import ( "fmt" "github.com/fatih/color" "log" "strings" ) // LogSuccessF LogSuccess logs a success message to stdout func LogSuccessF(format string, a ...interface{}) { logger("success", format, a...) } // LogInfoF LogInfo logs an info message to stdout func LogInfoF(format string, a ...interface{}) { logger("info", format, a...) } // LogErrorF LogError logs an error message to stdout func LogErrorF(format string, a ...interface{}) { logger("error", format, a...) } // logger logger is a helper function to log messages to stdout func logger(level string, format string, a ...interface{}) { var c *color.Color switch level { case "success": c = color.New(color.Bold).Add(color.FgGreen) case "info": c = color.New(color.FgBlue) case "error": c = color.New(color.FgRed) } date := new(strings.Builder) log.New(date, "", log.LstdFlags).Print() c.Printf("%s - %s\n", strings.TrimSpace(date.String()), fmt.Sprintf(format, a...), ) }