Skip to content

Commit fdcacb4

Browse files
Kludexnuno-andre
andauthored
Accept log_level strings case-insensitively (#2907)
Co-authored-by: Nuno André <mail@nunoand.re>
1 parent 70f247f commit fdcacb4

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

tests/test_config.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,13 @@ def test_config_log_effective_level(log_level: int, uvicorn_logger_level: int) -
482482
assert logging.getLogger("uvicorn.asgi").getEffectiveLevel() == effective_level
483483

484484

485+
@pytest.mark.parametrize("log_level", ["INFO", "Info", "info"])
486+
def test_config_log_level_case_insensitive(log_level: str) -> None:
487+
config = Config(app=asgi_app, log_level=log_level)
488+
config.load()
489+
assert logging.getLogger("uvicorn.error").level == logging.INFO
490+
491+
485492
def test_ws_max_size() -> None:
486493
config = Config(app=asgi_app, ws_max_size=1000)
487494
config.load()

uvicorn/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ def configure_logging(self) -> None:
392392

393393
if self.log_level is not None:
394394
if isinstance(self.log_level, str):
395-
log_level = LOG_LEVELS[self.log_level]
395+
log_level = LOG_LEVELS[self.log_level.lower()]
396396
else:
397397
log_level = self.log_level
398398
logging.getLogger("uvicorn.error").setLevel(log_level)

0 commit comments

Comments
 (0)