From 730420b6b32414db7fcd12ede87712b0f960de7b Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Wed, 4 May 2022 00:03:34 +0800 Subject: [PATCH] Only set CanColorStdout / CanColorStderr to true if the stdout/stderr is a terminal (#19581) --- modules/log/console_other.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 modules/log/console_other.go diff --git a/modules/log/console_other.go b/modules/log/console_other.go new file mode 100644 index 000000000000..b5cac55b52a4 --- /dev/null +++ b/modules/log/console_other.go @@ -0,0 +1,21 @@ +// Copyright 2022 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +//go:build !windows + +package log + +import ( + "os" + + "github.com/mattn/go-isatty" +) + +func init() { + // when running gitea as a systemd unit with logging set to console, the output can not be colorized, + // otherwise it spams the journal / syslog with escape sequences like "#033[0m#033[32mcmd/web.go:102:#033[32m" + // this file covers non-windows platforms. + CanColorStdout = isatty.IsTerminal(os.Stdout.Fd()) + CanColorStderr = isatty.IsTerminal(os.Stderr.Fd()) +}