diff --git a/mpsd-software-environment.py b/mpsd-software-environment.py index f24125a436198c0075a7fad71c50f5e9c6aa853f..5de17af929842f135d06088561c29a3f0afee046 100755 --- a/mpsd-software-environment.py +++ b/mpsd-software-environment.py @@ -113,7 +113,11 @@ def set_up_logging(loglevel="warning", filename=None): # set up the main logger ("root" logger) logger = logging.getLogger("") - logger.setLevel(log_level_numeric) + # - "logger" logs everything + # - we use loglevel at handler level to write everything to file + # - and filter using log_level_numeric (as the user provides) to + # send logging messages to the console + logger.setLevel(0) # the handler determines where the logs go: stdout/file if rich_available: @@ -132,11 +136,16 @@ def set_up_logging(loglevel="warning", filename=None): # here we hook everything together shell_handler.setFormatter(shell_formatter) + # use the log_level_numeric to decide how much logging is sent to shell + shell_handler.setLevel(log_level_numeric) logger.addHandler(shell_handler) # if filename provided, write log messages to that file, too. if filename: file_handler = logging.FileHandler(filename) + # if we have a file, we write all information in there. + # We could change the level, for example restrict to only DEBUG and above with + # file_handler.setLevel(logging.DEBUG) file_logging_format = "%(asctime)s %(levelname)7s %(lineno)4d | %(message)s" file_formatter = logging.Formatter(file_logging_format, datefmt="[%X]") file_handler.setFormatter(file_formatter)