Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions src/mcp/server/mcpserver/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
from mcp.server.mcpserver.resources import FunctionResource, Resource, ResourceManager
from mcp.server.mcpserver.tools import Tool, ToolManager
from mcp.server.mcpserver.utilities.context_injection import find_context_parameter
from mcp.server.mcpserver.utilities.logging import configure_logging, get_logger
from mcp.server.mcpserver.utilities.logging import get_logger
from mcp.server.sse import SseServerTransport
from mcp.server.stdio import stdio_server
from mcp.server.streamable_http import EventStore
Expand Down Expand Up @@ -203,9 +203,6 @@ def __init__(
self._token_verifier = ProviderTokenVerifier(auth_server_provider)
self._custom_starlette_routes: list[Route] = []

# Configure logging
configure_logging(self.settings.log_level)

@property
def name(self) -> str:
return self._lowlevel_server.name
Expand Down
10 changes: 10 additions & 0 deletions tests/server/mcpserver/test_server.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import base64
import logging
from pathlib import Path
from typing import Any
from unittest.mock import AsyncMock, MagicMock, patch
Expand Down Expand Up @@ -45,6 +46,15 @@
pytestmark = pytest.mark.anyio


async def test_create_server_does_not_configure_logging(monkeypatch: pytest.MonkeyPatch):
basic_config = MagicMock()
monkeypatch.setattr(logging, "basicConfig", basic_config)

MCPServer()

basic_config.assert_not_called()


class TestServer:
async def test_create_server(self):
mcp = MCPServer(
Expand Down
27 changes: 27 additions & 0 deletions tests/server/mcpserver/utilities/test_logging.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import logging
from unittest.mock import MagicMock

import pytest
from rich.logging import RichHandler

from mcp.server.mcpserver.utilities.logging import configure_logging, get_logger


def test_get_logger_returns_named_logger():
logger = get_logger("mcp.test")

assert logger is logging.getLogger("mcp.test")


def test_configure_logging_uses_rich_handler(monkeypatch: pytest.MonkeyPatch):
basic_config = MagicMock()
monkeypatch.setattr(logging, "basicConfig", basic_config)

configure_logging("DEBUG")

basic_config.assert_called_once()
kwargs = basic_config.call_args.kwargs
assert kwargs["level"] == "DEBUG"
assert kwargs["format"] == "%(message)s"
assert len(kwargs["handlers"]) == 1
assert isinstance(kwargs["handlers"][0], RichHandler)
Loading