From e15f576d3744c4351538309b144e3f595d3178a9 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Tue, 27 Oct 2026 20:09:54 +0000 Subject: [PATCH] Apply logging level changes to cached loggers and handlers --- great_ai/utilities/logger/get_logger.py | 6 +++++- tests/test_configuration_regressions.py | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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)