mirror of
https://github.com/mudler/luet.git
synced 2025-08-15 22:13:34 +00:00
Add logging package
it will abstract other frameworks eventually, but for now keep it simple
This commit is contained in:
parent
ef1d0e5573
commit
e835562543
79
pkg/logger/logger.go
Normal file
79
pkg/logger/logger.go
Normal file
@ -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)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user