From 548149a63d200076f0bf93e267dff797b44c4658 Mon Sep 17 00:00:00 2001 From: Nicolas Carlier Date: Sat, 29 Feb 2020 08:41:54 +0000 Subject: [PATCH] fix(logger): print colors only for TTY --- go.mod | 1 + go.sum | 4 ++++ pkg/logger/color.go | 11 ++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index dc3dd28..032caa9 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,7 @@ module github.com/ncarlier/webhookd require ( github.com/go-fed/httpsig v0.1.0 + github.com/mattn/go-isatty v0.0.12 golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72 golang.org/x/net v0.0.0-20200202094626-16171245cfb2 // indirect golang.org/x/text v0.3.2 // indirect diff --git a/go.sum b/go.sum index 25df4c3..c1871b2 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/go-fed/httpsig v0.1.0 h1:6F2OxRVnNTN4OPN+Mc2jxs2WEay9/qiHT/jphlvAwIY= github.com/go-fed/httpsig v0.1.0/go.mod h1:T56HUNYZUQ1AGUzhAYPugZfp36sKApVnGBgKlIY+aIE= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= golang.org/x/crypto v0.0.0-20180527072434-ab813273cd59/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200204104054-c9f3fb736b72 h1:+ELyKg6m8UBf0nPFSqD0mi7zUfwPyXo23HNjMnXPz7w= @@ -12,6 +14,8 @@ golang.org/x/sys v0.0.0-20180525142821-c11f84a56e43/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42 h1:vEOn+mP2zCOVzKckCZy6YsCtDblrpj/w7B9nxGNELpg= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= diff --git a/pkg/logger/color.go b/pkg/logger/color.go index c64a3dd..56629b0 100644 --- a/pkg/logger/color.go +++ b/pkg/logger/color.go @@ -1,5 +1,11 @@ package logger +import ( + "os" + + "github.com/mattn/go-isatty" +) + var ( nocolor = "\033[0m" red = "\033[0;31m" @@ -12,7 +18,10 @@ var ( ) func colorize(text string, color string) string { - return color + text + nocolor + if isatty.IsTerminal(os.Stdout.Fd()) { + return color + text + nocolor + } + return text } // Gray ANSI color applied to a string