Normal log15.Root() not colorized on Cygwin
alankm opened this issue · comments
Alan Murtagh commented
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)
}