From 26561d9a1d73f184c8d0a38085520ac5a51a690a Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 12 Apr 2024 16:48:32 +1000 Subject: [PATCH] Set debug level explicitly when parsing options --- src/benchcab/main.py | 5 +++-- src/benchcab/utils/__init__.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/benchcab/main.py b/src/benchcab/main.py index f7dc715..5ca3f95 100644 --- a/src/benchcab/main.py +++ b/src/benchcab/main.py @@ -5,7 +5,7 @@ from benchcab.benchcab import Benchcab from benchcab.cli import generate_parser -from benchcab.utils import get_logger +from benchcab.utils import get_logger, set_log_level def parse_and_dispatch(parser): @@ -26,7 +26,8 @@ def parse_and_dispatch(parser): _ = args.pop("verbose") # We just need to instantiate this with the desired level - get_logger(level=log_level) + logger = get_logger() + set_log_level(logger, log_level) func = args.pop("func") func(**args) diff --git a/src/benchcab/utils/__init__.py b/src/benchcab/utils/__init__.py index 5d67dc7..77ead7a 100644 --- a/src/benchcab/utils/__init__.py +++ b/src/benchcab/utils/__init__.py @@ -143,3 +143,17 @@ def get_logger(name="benchcab", level="debug"): logger.addHandler(handler) return logger + + +def set_log_level(logger, level): + """Set the log level for a logger. + + Parameters + ---------- + logger: logging.Logger + A logger instance. + level : str, optional + Level, by default 'debug'. + + """ + logger.setLevel(getattr(logging, level.upper()))