From 964cdcaf4c80fa72789ce256c8421218d119cff7 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Thu, 10 Sep 2026 11:49:21 +0200 Subject: [PATCH] frappy.logging: do not colorize when output is not a terminal avoids strange output with 'marche logs' Change-Id: Ied6b646cb90bca6b34e45f84b4ecaef437a114a6 Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/40200 Tested-by: Jenkins Automated Tests Reviewed-by: Georg Brandl Reviewed-by: Markus Zolliker --- frappy/logging.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frappy/logging.py b/frappy/logging.py index f1828897..74220b2f 100644 --- a/frappy/logging.py +++ b/frappy/logging.py @@ -21,6 +21,7 @@ # ***************************************************************************** +import sys import os from os.path import dirname, join from logging import DEBUG, INFO, addLevelName @@ -161,7 +162,13 @@ class MainLogger: self.log = mlzlog.log = mlzlog.MLZLogger(self.rootname) self.log.setLevel(DEBUG) - self.log.addHandler(mlzlog.ColoredConsoleHandler()) + colorize = None + try: + if sys.stdout.isatty(): + colorize = mlzlog.colors.colorize + except Exception: + pass + self.log.addHandler(mlzlog.ColoredConsoleHandler(colorize)) self.logdir = generalConfig.get('logdir', '/tmp/log') if self.logdir: