I have a simple go code that added chars to logger for adding color to logs.
package main
import "fmt"
var (
Info = Teal
Warn = Yellow
Fata = Red
)
var (
Black = Color("\033[1;30m%s\033[0m")
Red = Color("\033[1;31m%s\033[0m")
Green = Color("\033[1;32m%s\033[0m")
Yellow = Color("\033[1;33m%s\033[0m")
Purple = Color("\033[1;34m%s\033[0m")
Magenta = Color("\033[1;35m%s\033[0m")
Teal = Color("\033[1;36m%s\033[0m")
White = Color("\033[1;37m%s\033[0m")
)
func Color(colorString string) func(...interface{}) string {
sprint := func(args ...interface{}) string {
return fmt.Sprintf(colorString,
fmt.Sprint(args...))
}
return sprint
}
func main() {
fmt.Println(Magenta("hello, world!"))
}
when I run it in the PowerShell that run in my vscode, I see the colors as expected:
when I run it in the PowerShell of windows, I don't see that the colors are parsed well:
both of the PowerShells above have the same version.
any idea why?