From 12dcad10d59da1d6b89a7cc320dd3047e6618a22 Mon Sep 17 00:00:00 2001 From: John Hollowell Date: Fri, 16 Jul 2021 22:06:58 +0000 Subject: [PATCH] Setup logging before config loading --- qbittorrent_exporter/exporter.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/qbittorrent_exporter/exporter.py b/qbittorrent_exporter/exporter.py index 636bafe..d4a0220 100644 --- a/qbittorrent_exporter/exporter.py +++ b/qbittorrent_exporter/exporter.py @@ -178,6 +178,17 @@ def get_config_value(key, default=""): def main(): + # Init logger so it can be used + logHandler = logging.StreamHandler() + formatter = jsonlogger.JsonFormatter( + "%(asctime) %(levelname) %(message)", + datefmt="%Y-%m-%d %H:%M:%S" + ) + logHandler.setFormatter(formatter) + logger = logging.getLogger() + logger.addHandler(logHandler) + logger.setLevel("INFO") # default until config is loaded + config = { "host": get_config_value("QBITTORRENT_HOST", ""), "port": get_config_value("QBITTORRENT_PORT", ""), @@ -187,20 +198,12 @@ def main(): "log_level": get_config_value("EXPORTER_LOG_LEVEL", "INFO"), "metrics_prefix": get_config_value("METRICS_PREFIX", "qbittorrent"), } + # set level once config has been loaded + logger.setLevel(config["log_level"]) # Register signal handler signal_handler = SignalHandler() - # Init logger - logHandler = logging.StreamHandler() - formatter = jsonlogger.JsonFormatter( - "%(asctime) %(levelname) %(message)", - datefmt="%Y-%m-%d %H:%M:%S" - ) - logHandler.setFormatter(formatter) - logger = logging.getLogger() - logger.addHandler(logHandler) - logger.setLevel(config["log_level"]) if not config["host"]: logger.error("No host specified, please set QBITTORRENT_HOST environment variable")