log15
log15 copied to clipboard
Normal log15.Root() not colorized on Cygwin
This is caused by isatty.IsTerminal() not reporting true under Cygwin. Cygwin can handle colorized output just fine though. This seems to be a very easy fix: adjust the following code in root.go (lines 17-28) from
func init() {
if isatty.IsTerminal(os.Stdout.Fd()) {
StdoutHandler = StreamHandler(colorable.NewColorableStdout(), TerminalFormat())
}
if isatty.IsTerminal(os.Stderr.Fd()) {
StderrHandler = StreamHandler(colorable.NewColorableStderr(), TerminalFormat())
}
root = &logger{[]interface{}{}, new(swapHandler)}
root.SetHandler(StdoutHandler)
}
to
func init() {
if isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()){
StdoutHandler = StreamHandler(colorable.NewColorableStdout(), TerminalFormat())
}
if isatty.IsTerminal(os.Stderr.Fd()) || isatty.IsCygwinTerminal(os.Stderr.Fd()) {
StderrHandler = StreamHandler(colorable.NewColorableStderr(), TerminalFormat())
}
root = &logger{[]interface{}{}, new(swapHandler)}
root.SetHandler(StdoutHandler)
}