From 587e37f0599bc1bc24840ba189d706e8e2dd9e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isra=C3=ABl=20Hall=C3=A9?= Date: Sat, 23 Aug 2025 15:33:17 -0400 Subject: [PATCH] Add setting to disable logging configuration (#1575) --- src/fastmcp/__init__.py | 10 +++++----- src/fastmcp/settings.py | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/fastmcp/__init__.py b/src/fastmcp/__init__.py index fa76758dc..3a596584a 100644 --- a/src/fastmcp/__init__.py +++ b/src/fastmcp/__init__.py @@ -6,11 +6,11 @@ from fastmcp.settings import Settings from fastmcp.utilities.logging import configure_logging as _configure_logging settings = Settings() -# if False: -_configure_logging( - level=settings.log_level, - enable_rich_tracebacks=settings.enable_rich_tracebacks, -) +if settings.log_enabled: + _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 diff --git a/src/fastmcp/settings.py b/src/fastmcp/settings.py index 1ecda5a08..91a0bb33b 100644 --- a/src/fastmcp/settings.py +++ b/src/fastmcp/settings.py @@ -146,6 +146,7 @@ class Settings(BaseSettings): test_mode: bool = False + log_enabled: bool = True log_level: LOG_LEVEL = "INFO" @field_validator("log_level", mode="before") @@ -314,7 +315,7 @@ class Settings(BaseSettings): Whether to include FastMCP meta in the server's MCP responses. If True, a `_fastmcp` key will be added to the `meta` field of all MCP component responses. This key will contain a dict of - various FastMCP-specific metadata, such as tags. + various FastMCP-specific metadata, such as tags. """ ), ),