From 8dc7d892e6b7ce546f2ec9ce4d11353bbb34fddc Mon Sep 17 00:00:00 2001 From: Sebastian Lenzlinger Date: Tue, 25 Jun 2024 23:42:29 +0200 Subject: [PATCH] Finalize Fromatter. --- iottb/main.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/iottb/main.py b/iottb/main.py index 7fd8e14..c9ee405 100644 --- a/iottb/main.py +++ b/iottb/main.py @@ -8,24 +8,24 @@ from logging.handlers import RotatingFileHandler import sys APP_NAME = 'iottb' -MAX_VERBOSITY = 3 + +CONSOLE_LOG_FORMATS = { + 0: '%(levelname)s - %(message)s', + 1: '%(levelname)s - %(module)s - %(message)s', + 2: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(lineno)d - %(message)s' +} + +LOGFILE_LOG_FORMAT = { + 0: '%(levelname)s - %(asctime)s - %(module)s - %(message)s', + 1: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(message)s', + 2: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(lineno)d - %(message)s' +} +MAX_VERBOSITY = len(CONSOLE_LOG_FORMATS) - 1 +assert len(LOGFILE_LOG_FORMAT) == len(CONSOLE_LOG_FORMATS), 'Log formats must be same size' def setup_logging(verbosity, debug): - # Formats - console_log_formats = { - 0: '%(levelname)s - %(message)s', - 1: '%(levelname)s - %(module)s - %(message)s', - 2: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(lineno)d - %(message)s' - } - - file_log_formats = { - 0: '%(levelname)s - %(asctime)s - %(module)s - %(message)s', - 1: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(message)s', - 2: '%(levelname)s - %(asctime)s - %(module)s - %(funcName)s - %(lineno)d - %(message)s' - } - - # set default log level, change later based on parameters + """ Setup root logger for iottb """ log_level = logging.ERROR logger = logging.getLogger() date_format = '%Y-%m-%d %H:%M:%S' @@ -36,7 +36,7 @@ def setup_logging(verbosity, debug): log_level = logging.INFO assert verbosity <= MAX_VERBOSITY, f'Verbosity must be <= {MAX_VERBOSITY}' console_handler = logging.StreamHandler(sys.stdout) - console_handler.setFormatter(logging.Formatter(console_log_formats[verbosity], datefmt=date_format)) + console_handler.setFormatter(logging.Formatter(CONSOLE_LOG_FORMATS[verbosity], datefmt=date_format)) console_handler.setLevel(logging.DEBUG) # can keep at debug since it depends on global level? logger.addHandler(console_handler) @@ -45,10 +45,10 @@ def setup_logging(verbosity, debug): # Logfile logs INFO+, no debugs though file_handler = RotatingFileHandler(f'{APP_NAME}.log', maxBytes=10240, backupCount=5) - file_handler.setFormatter(logging.Formatter(file_log_formats[verbosity], datefmt=date_format)) + file_handler.setFormatter(logging.Formatter(LOGFILE_LOG_FORMAT[verbosity], datefmt=date_format)) file_handler.setLevel(logging.INFO) - # finnish setting up logging + # finnish root logger setup logger.addHandler(file_handler) logger.setLevel(log_level) return logger