From 63ac05a373da75d95f748af1707a1ef8196dd2cd Mon Sep 17 00:00:00 2001 From: Peter Kraft Date: Thu, 5 Dec 2024 13:45:43 -0800 Subject: [PATCH 1/2] enable logging --- src/fastapi_cli/utils/cli.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/fastapi_cli/utils/cli.py b/src/fastapi_cli/utils/cli.py index 96759efb..f6805e7c 100644 --- a/src/fastapi_cli/utils/cli.py +++ b/src/fastapi_cli/utils/cli.py @@ -18,6 +18,7 @@ def formatMessage(self, record: logging.LogRecord) -> str: def get_uvicorn_log_config() -> Dict[str, Any]: return { "version": 1, + "disable_existing_loggers": False, "formatters": { "default": { "()": CustomFormatter, From cb5199b36e9257449e7f2ae72f8058ed1a1d095d Mon Sep 17 00:00:00 2001 From: Patrick Arminio Date: Mon, 9 Dec 2024 12:53:30 +0000 Subject: [PATCH 2/2] Add test for disable_existing_loggers --- tests/test_utils_cli.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/test_utils_cli.py b/tests/test_utils_cli.py index 8a38c12a..359cd119 100644 --- a/tests/test_utils_cli.py +++ b/tests/test_utils_cli.py @@ -1,6 +1,7 @@ import logging from fastapi_cli.utils.cli import CustomFormatter, get_uvicorn_log_config +from pytest import LogCaptureFixture def test_get_uvicorn_config_uses_custom_formatter() -> None: @@ -33,3 +34,22 @@ def test_custom_formatter() -> None: assert "127.0.0.1" in formatted assert "GET / HTTP/1.1" in formatted assert "200" in formatted + + +def test_log_config_does_not_disable_existing_loggers( + caplog: LogCaptureFixture, +) -> None: + logger1 = logging.getLogger(__name__) + logger1.setLevel(logging.INFO) + logger1.info("Message before configuration") + + logging.config.dictConfig(get_uvicorn_log_config()) + + logger2 = logging.getLogger(__name__) + + logger1.info("Message after configuration from logger1") # Should not appear + logger2.info("Message from logger2") + + assert "Message before configuration" in caplog.text + assert "Message after configuration from logger1" in caplog.text + assert "Message from logger2" in caplog.text