diff --git a/pkg/logger/logger.go b/pkg/logger/logger.go new file mode 100644 index 00000000..5849e475 --- /dev/null +++ b/pkg/logger/logger.go @@ -0,0 +1,79 @@ +package logger + +import ( + "fmt" + "time" + + . "github.com/logrusorgru/aurora" + + "github.com/briandowns/spinner" +) + +var s *spinner.Spinner + +func Spinner(i int) { + + if i > 43 { + i = 43 + } + + s = spinner.New(spinner.CharSets[i], 100*time.Millisecond) // Build our new spinner + s.Start() // Start the spinner +} + +func SpinnerText(suffix, prefix string) { + s.Suffix = Bold(Magenta(suffix)).BgBlack().String() + s.Prefix = Bold(Cyan(prefix)).String() +} + +func SpinnerStop() { + s.Stop() + s = nil +} + +func Warning(msg ...interface{}) { + if s != nil { + SpinnerText(Sprintf(msg), Bold(Yellow("Warn")).BgBlack().String()) + return + } + cmd := []interface{}{Bold(Yellow("Warn")).BgBlack().String()} + for _, f := range msg { + cmd = append(cmd, f) + } + fmt.Println(cmd) +} +func Debug(msg ...interface{}) { + if s != nil { + SpinnerText(Sprintf(msg), Bold(White("Debug")).BgBlack().String()) + return + } + cmd := []interface{}{Bold(White("Debug")).String()} + for _, f := range msg { + cmd = append(cmd, f) + } + fmt.Println(cmd) +} + +func Info(msg ...interface{}) { + if s != nil { + SpinnerText(Sprintf(msg), Bold(Blue("Info")).BgBlack().String()) + return + } + cmd := []interface{}{Bold(Green("Info")).String()} + for _, f := range msg { + cmd = append(cmd, f) + } + fmt.Println(cmd) +} + +func Error(msg ...interface{}) { + if s != nil { + SpinnerText(Sprintf(msg), Bold(Red("Error")).BgBlack().String()) + return + } + cmd := []interface{}{Bold(Red("Error")).String()} + for _, f := range msg { + cmd = append(cmd, f) + } + fmt.Println(cmd) +}