From 00d8d8f995606bcc9ae2013a5a57a8678889421a Mon Sep 17 00:00:00 2001 From: Mariano Cano Date: Tue, 26 Sep 2023 12:10:22 -0700 Subject: [PATCH] Allow to disable color in the text formatter This commit adds support for NO_COLOR environment variable, if this is set, colors will be disabled in the logrus text formatter. This commit also adds support for the environment variables supported by logrus, CLICOLOR and CLICOLOR_FORCE Related to #1549 --- logging/logger.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/logging/logger.go b/logging/logger.go index 7ea25077..1716a7f4 100644 --- a/logging/logger.go +++ b/logging/logger.go @@ -3,6 +3,7 @@ package logging import ( "encoding/json" "net/http" + "os" "strings" "github.com/pkg/errors" @@ -38,6 +39,13 @@ func New(name string, raw json.RawMessage) (*Logger, error) { var formatter logrus.Formatter switch strings.ToLower(config.Format) { case "", "text": + _, noColor := os.LookupEnv("NO_COLOR") + // With EnvironmentOverrideColors set, logrus looks at CLICOLOR and + // CLICOLOR_FORCE + formatter = &logrus.TextFormatter{ + DisableColors: noColor, + EnvironmentOverrideColors: true, + } case "json": formatter = new(logrus.JSONFormatter) case "common":