@@ -6,18 +6,6 @@ import (
66 "time"
77)
88
9- const (
10- colorReset = "\033 [0m"
11- colorRed = "\033 [31m"
12- colorGreen = "\033 [32m"
13- colorYellow = "\033 [33m"
14- colorBlue = "\033 [34m"
15- colorPurple = "\033 [35m"
16- colorCyan = "\033 [36m"
17- colorGray = "\033 [90m"
18- colorWhite = "\033 [97m"
19- )
20-
219type LogLevel int
2210
2311const (
@@ -44,55 +32,79 @@ func (l *Logger) SetEnabled(enabled bool) {
4432}
4533
4634func (l * Logger ) timestamp () string {
47- return colorGray + time .Now ().Format ("15:04:05" ) + colorReset
35+ timeStr := time .Now ().Format ("15:04:05" )
36+ return ColorGray .Wrap ("[" + timeStr + "]" )
37+ }
38+
39+ func (l * Logger ) badge (text string , color Color ) string {
40+ bg := color .Dark ().Background ()
41+ return bg .Wrap (" " + text + " " )
4842}
4943
5044func (l * Logger ) Info (format string , args ... interface {}) {
5145 if ! l .enabled || l .level > LevelInfo {
5246 return
5347 }
5448 msg := fmt .Sprintf (format , args ... )
55- fmt .Printf ("%s %s%s%s\n " , l .timestamp (), colorCyan , msg , colorReset )
49+ badge := l .badge ("INFO" , ColorBlue )
50+ icon := ColorCyan .Wrap ("◆" )
51+ coloredMsg := ColorWhite .Wrap (msg )
52+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
5653}
5754
5855func (l * Logger ) Success (format string , args ... interface {}) {
5956 if ! l .enabled || l .level > LevelInfo {
6057 return
6158 }
6259 msg := fmt .Sprintf (format , args ... )
63- fmt .Printf ("%s %s✓%s %s\n " , l .timestamp (), colorGreen , colorReset , msg )
60+ badge := l .badge ("DONE" , ColorGreen )
61+ icon := ColorGreen .Bright ().Wrap ("✓" )
62+ coloredMsg := ColorWhite .Wrap (msg )
63+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
6464}
6565
6666func (l * Logger ) Error (format string , args ... interface {}) {
6767 if ! l .enabled || l .level > LevelError {
6868 return
6969 }
7070 msg := fmt .Sprintf (format , args ... )
71- fmt .Printf ("%s %s✗%s %s\n " , l .timestamp (), colorRed , colorReset , msg )
71+ badge := l .badge ("ERROR" , ColorRed )
72+ icon := ColorRed .Bright ().Wrap ("✗" )
73+ coloredMsg := ColorWhite .Wrap (msg )
74+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
7275}
7376
7477func (l * Logger ) Warning (format string , args ... interface {}) {
7578 if ! l .enabled || l .level > LevelWarning {
7679 return
7780 }
7881 msg := fmt .Sprintf (format , args ... )
79- fmt .Printf ("%s %s⚠%s %s\n " , l .timestamp (), colorYellow , colorReset , msg )
82+ badge := l .badge ("WARN" , ColorYellow )
83+ icon := ColorYellow .Bright ().Wrap ("⚠" )
84+ coloredMsg := ColorWhite .Wrap (msg )
85+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
8086}
8187
8288func (l * Logger ) Task (format string , args ... interface {}) {
8389 if ! l .enabled || l .level > LevelInfo {
8490 return
8591 }
8692 msg := fmt .Sprintf (format , args ... )
87- fmt .Printf ("%s %s▶%s %s\n " , l .timestamp (), colorBlue , colorReset , msg )
93+ badge := l .badge ("TASK" , ColorPurple )
94+ icon := ColorPurple .Bright ().Wrap ("▶" )
95+ coloredMsg := ColorWhite .Wrap (msg )
96+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
8897}
8998
9099func (l * Logger ) Debug (format string , args ... interface {}) {
91100 if ! l .enabled || l .level != LevelDebug {
92101 return
93102 }
94103 msg := fmt .Sprintf (format , args ... )
95- fmt .Printf ("%s %s[DEBUG]%s %s\n " , l .timestamp (), colorGray , colorReset , msg )
104+ badge := l .badge ("DEBUG" , ColorGray )
105+ icon := ColorGray .Wrap ("●" )
106+ coloredMsg := ColorGray .Wrap (msg )
107+ fmt .Printf ("%s %s %s %s\n " , l .timestamp (), badge , icon , coloredMsg )
96108}
97109
98110func (l * Logger ) Print (format string , args ... interface {}) {
0 commit comments