From 666caea54cc0a97c737e3ebe7f7d8554f8b04abe Mon Sep 17 00:00:00 2001 From: Emlyn Date: Tue, 21 Jan 2025 20:14:01 +0000 Subject: [PATCH] Log level as env var and status logging in main loop (#29) --- src/hutch_bunny/core/logger.py | 2 +- src/hutch_bunny/core/settings.py | 2 ++ src/hutch_bunny/daemon.py | 6 ++++-- tests/test_logging_env.py | 22 ++++++++++++++++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 tests/test_logging_env.py diff --git a/src/hutch_bunny/core/logger.py b/src/hutch_bunny/core/logger.py index 24927c4..d00213c 100644 --- a/src/hutch_bunny/core/logger.py +++ b/src/hutch_bunny/core/logger.py @@ -10,5 +10,5 @@ console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(LOG_FORMAT) logger = logging.getLogger(settings.LOGGER_NAME) -logger.setLevel(logging.INFO) +logger.setLevel(settings.LOGGER_LEVEL) logger.addHandler(console_handler) diff --git a/src/hutch_bunny/core/settings.py b/src/hutch_bunny/core/settings.py index 0d62840..d52b6f0 100644 --- a/src/hutch_bunny/core/settings.py +++ b/src/hutch_bunny/core/settings.py @@ -1,3 +1,4 @@ +import logging from os import environ from dotenv import load_dotenv @@ -22,6 +23,7 @@ # Logging configuration LOGGER_NAME = "hutch" +LOGGER_LEVEL = logging.getLevelNamesMapping().get(environ.get("BUNNY_LOGGER_LEVEL"),"INFO") BACKUP_LOGGER_NAME = "backup" MSG_FORMAT = "%(levelname)s - %(asctime)s - %(message)s" DATE_FORMAT = "%d-%b-%y %H:%M:%S" diff --git a/src/hutch_bunny/daemon.py b/src/hutch_bunny/daemon.py index 9d05f22..8b3214e 100644 --- a/src/hutch_bunny/daemon.py +++ b/src/hutch_bunny/daemon.py @@ -7,13 +7,11 @@ from hutch_bunny.core.logger import logger from hutch_bunny.core.setting_database import setting_database - def main() -> None: # Setting database connection db_manager = setting_database(logger=logger) # Task Api Client class init. client = TaskApiClient() - # Building results modifiers modifiers_list = results_modifiers( low_number_suppression_threshold=int( @@ -66,5 +64,9 @@ def main() -> None: elif response.status_code == 204: logger.info("Looking for job...") + elif response.status_code == 401: + logger.info("Failed to authenticate with task server.") + else: + logger.info("Got http status code: %s", response.status_code) time.sleep(settings.POLLING_INTERVAL) diff --git a/tests/test_logging_env.py b/tests/test_logging_env.py new file mode 100644 index 0000000..f832ec9 --- /dev/null +++ b/tests/test_logging_env.py @@ -0,0 +1,22 @@ +import pytest +import os +import logging +from importlib import reload + +import hutch_bunny.core.logger +import hutch_bunny.core.settings + +def test_set_level(): + os.environ["BUNNY_LOGGER_LEVEL"] = "INFO" + reload(hutch_bunny.core.settings) + reload(hutch_bunny.core.logger) + assert hutch_bunny.core.logger.logger.level == logging.INFO + os.environ["BUNNY_LOGGER_LEVEL"] = "DEBUG" + reload(hutch_bunny.core.settings) + reload(hutch_bunny.core.logger) + assert hutch_bunny.core.logger.logger.level == logging.DEBUG + os.environ["BUNNY_LOGGER_LEVEL"] = "FLOPPSY" + reload(hutch_bunny.core.settings) + reload(hutch_bunny.core.logger) + assert hutch_bunny.core.logger.logger.level == logging.INFO +