diff --git a/great_ai/utilities/logger/get_logger.py b/great_ai/utilities/logger/get_logger.py index c12ed19..976f6b2 100644 --- a/great_ai/utilities/logger/get_logger.py +++ b/great_ai/utilities/logger/get_logger.py @@ -33,4 +33,8 @@ def get_logger( logger.addHandler(stdout_handler) loggers[name] = logger - return loggers[name] + logger = loggers[name] + logger.setLevel(level) + for handler in logger.handlers: + handler.setLevel(level) + return logger diff --git a/tests/test_configuration_regressions.py b/tests/test_configuration_regressions.py index 88c76cb..4f288c3 100644 --- a/tests/test_configuration_regressions.py +++ b/tests/test_configuration_regressions.py @@ -1,3 +1,5 @@ +import logging + from great_ai import ParallelTinyDbDriver, configure from great_ai.context import get_context from great_ai.large_file import LargeFileLocal @@ -17,3 +19,13 @@ def test_explicit_custom_backends_are_preserved(isolated_context: None) -> None: ) assert isinstance(get_context().tracing_database, CustomDatabase) assert get_context().large_file_implementation is CustomStorage + + +def test_configuration_updates_existing_logger_levels(isolated_context: None) -> None: + logger = get_context().logger + handlers = list(logger.handlers) + configure(log_level=logging.ERROR, disable_se4ml_banner=True) + assert get_context().logger is logger + assert logger.level == logging.ERROR + assert logger.handlers == handlers + assert all(handler.level == logging.ERROR for handler in handlers)