From 33609a7e3e3ef8e0e14044905717ae79239d5ebc Mon Sep 17 00:00:00 2001 From: desbma Date: Mon, 30 Jan 2017 22:42:37 +0100 Subject: [PATCH] Tweak logging to detect systemd started service --- hddfancontrol/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/hddfancontrol/__init__.py b/hddfancontrol/__init__.py index 803d970..b4a7035 100755 --- a/hddfancontrol/__init__.py +++ b/hddfancontrol/__init__.py @@ -20,6 +20,7 @@ import signal import socket import stat import subprocess +import sys import syslog import threading import time @@ -725,19 +726,25 @@ def cl_main(): "normal": logging.INFO, "debug": logging.DEBUG} logging.getLogger().setLevel(logging_level[args.verbosity]) - logging_fmt = "%(asctime)s %(levelname)s [%(name)s] %(message)s" + logging_fmt_long = "%(asctime)s %(levelname)s [%(name)s] %(message)s" + logging_fmt_short = "%(levelname)s [%(name)s] %(message)s" if args.daemonize: if args.log_filepath is not None: # log to file + logging_fmt = logging_fmt_long logging_handler = logging.handlers.WatchedFileHandler(args.log_filepath) else: # log to syslog - logging_fmt = "%(levelname)s [%(name)s] %(message)s" + logging_fmt = logging_fmt_short logging_handler = LoggingSysLogHandler(syslog.LOG_DAEMON) logging_formatter = logging.Formatter(fmt=logging_fmt) else: # log to stderr - logging_formatter = colored_logging.ColoredFormatter(fmt=logging_fmt) + if sys.stderr.isatty(): + logging_formatter = colored_logging.ColoredFormatter(fmt=logging_fmt_long) + else: + # assume systemd service in 'simple' mode + logging_formatter = logging.Formatter(fmt=logging_fmt_short) logging_handler = logging.StreamHandler() logging_handler.setFormatter(logging_formatter) logging.getLogger().addHandler(logging_handler)