From ceb8d85826ba8bacb8cd4f4d3184c3bce49a021d Mon Sep 17 00:00:00 2001 From: Ka Date: Fri, 18 Jul 2025 03:01:03 +0800 Subject: [PATCH] feat(settings): add log level normalization (#1171) --- src/fastmcp/settings.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/fastmcp/settings.py b/src/fastmcp/settings.py index 11b0a5f0f..e864ca691 100644 --- a/src/fastmcp/settings.py +++ b/src/fastmcp/settings.py @@ -5,7 +5,7 @@ import warnings from pathlib import Path from typing import Annotated, Any, Literal -from pydantic import Field, model_validator +from pydantic import Field, field_validator, model_validator from pydantic.fields import FieldInfo from pydantic_settings import ( BaseSettings, @@ -99,7 +99,16 @@ class Settings(BaseSettings): home: Path = Path.home() / ".fastmcp" test_mode: bool = False + log_level: LOG_LEVEL = "INFO" + + @field_validator("log_level", mode="before") + @classmethod + def normalize_log_level(cls, v): + if isinstance(v, str): + return v.upper() + return v + enable_rich_tracebacks: Annotated[ bool, Field(