Only configure logging one time (#1187)

This commit is contained in:
Jeremiah Lowin 2025-07-19 15:21:08 -04:00 committed by GitHub
commit 06b291365e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 14 deletions

View file

@ -1,10 +1,15 @@
"""FastMCP - An ergonomic MCP interface."""
import warnings
from importlib.metadata import version
from importlib.metadata import version as _version
from fastmcp.settings import Settings
from fastmcp.utilities.logging import configure_logging as _configure_logging
settings = Settings()
_configure_logging(
level=settings.log_level,
enable_rich_tracebacks=settings.enable_rich_tracebacks,
)
from fastmcp.server.server import FastMCP
from fastmcp.server.context import Context
@ -13,7 +18,7 @@ import fastmcp.server
from fastmcp.client import Client
from . import client
__version__ = version("fastmcp")
__version__ = _version("fastmcp")
# ensure deprecation warnings are displayed by default

View file

@ -5,7 +5,7 @@ import warnings
from pathlib import Path
from typing import Annotated, Any, Literal
from pydantic import Field, field_validator, model_validator
from pydantic import Field, field_validator
from pydantic.fields import FieldInfo
from pydantic_settings import (
BaseSettings,
@ -171,17 +171,6 @@ class Settings(BaseSettings):
),
] = None
@model_validator(mode="after")
def setup_logging(self) -> Self:
"""Finalize the settings."""
from fastmcp.utilities.logging import configure_logging
configure_logging(
self.log_level, enable_rich_tracebacks=self.enable_rich_tracebacks
)
return self
# HTTP settings
host: str = "127.0.0.1"
port: int = 8000