set uvicorn log level to INFO to de-clutter application logs on DEGUG level

This commit is contained in:
2026-10-18 10:21:48 +02:00
parent 5e76bf8a37
commit 0880bdcafd
2 changed files with 20 additions and 0 deletions
+16
View File
@@ -13,6 +13,7 @@ from uvicorn.logging import DefaultFormatter
from utils.logging_config import LoggingSettings
SECONDS_PER_DAY = 24 * 60 * 60
UVICORN_LOGGER_NAMES = ("uvicorn", "uvicorn.error", "uvicorn.access")
@pytest.fixture
@@ -20,6 +21,8 @@ def restore_root_logger() -> Generator[None]:
root = logging.getLogger()
old_handlers = root.handlers[:]
old_level = root.level
uvicorn_loggers = [logging.getLogger(name) for name in UVICORN_LOGGER_NAMES]
old_uvicorn_levels = [logger.level for logger in uvicorn_loggers]
for handler in old_handlers:
root.removeHandler(handler)
@@ -32,6 +35,8 @@ def restore_root_logger() -> Generator[None]:
for handler in old_handlers:
root.addHandler(handler)
root.setLevel(old_level)
for logger, level in zip(uvicorn_loggers, old_uvicorn_levels):
logger.setLevel(level)
def test_sets_valid_log_level(restore_root_logger: None) -> None:
@@ -40,6 +45,17 @@ def test_sets_valid_log_level(restore_root_logger: None) -> None:
assert logging.getLogger().level == logging.DEBUG
def test_keeps_uvicorn_loggers_at_info_with_debug_root(
restore_root_logger: None,
) -> None:
LoggingSettings(LOG_LEVEL="DEBUG", LOG_TO_FILE=False)
assert all(
logging.getLogger(name).level == logging.INFO
for name in UVICORN_LOGGER_NAMES
)
def test_invalid_log_level_falls_back_to_info(restore_root_logger: None) -> None:
with patch("utils.logging_config.logger.error") as log_error:
LoggingSettings(LOG_LEVEL="NOT_A_LEVEL", LOG_TO_FILE=False)