From eb42e541828336e9b19e1bc5e087a419835b0c85 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sat, 11 Dec 2021 15:37:13 +0100 Subject: [PATCH] tlog: only enable color if both stderr and stdout are a terminal This gocryptfs -init /does/not/exist 2> err.log used to write escape codes into err.log. Stop doing that. --- internal/tlog/log.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/tlog/log.go b/internal/tlog/log.go index 3f27539..62d791d 100644 --- a/internal/tlog/log.go +++ b/internal/tlog/log.go @@ -108,7 +108,9 @@ var Fatal *toggledLogger func init() { // Enable color output if we are connected to a terminal and NO_COLOR is // unset ( https://no-color.org/ ). - if _, nocolor := os.LookupEnv("NO_COLOR"); !nocolor && term.IsTerminal(int(os.Stdout.Fd())) { + if _, nocolor := os.LookupEnv("NO_COLOR"); !nocolor && + term.IsTerminal(int(os.Stdout.Fd())) && + term.IsTerminal(int(os.Stderr.Fd())) { ColorReset = "\033[0m" ColorGrey = "\033[2m" ColorRed = "\033[31m"