Setup logging before config loading

This commit is contained in:
John Hollowell 2021-07-16 22:06:58 +00:00
parent 597307c230
commit 12dcad10d5

View file

@ -178,6 +178,17 @@ def get_config_value(key, default=""):
def main(): 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 = { config = {
"host": get_config_value("QBITTORRENT_HOST", ""), "host": get_config_value("QBITTORRENT_HOST", ""),
"port": get_config_value("QBITTORRENT_PORT", ""), "port": get_config_value("QBITTORRENT_PORT", ""),
@ -187,20 +198,12 @@ def main():
"log_level": get_config_value("EXPORTER_LOG_LEVEL", "INFO"), "log_level": get_config_value("EXPORTER_LOG_LEVEL", "INFO"),
"metrics_prefix": get_config_value("METRICS_PREFIX", "qbittorrent"), "metrics_prefix": get_config_value("METRICS_PREFIX", "qbittorrent"),
} }
# set level once config has been loaded
logger.setLevel(config["log_level"])
# Register signal handler # Register signal handler
signal_handler = SignalHandler() 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"]: if not config["host"]:
logger.error("No host specified, please set QBITTORRENT_HOST environment variable") logger.error("No host specified, please set QBITTORRENT_HOST environment variable")