Skip to content

Commit 2440a44

Browse files
committed
Add logging configuration module
1 parent 1599394 commit 2440a44

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
"""
2+
Logging Configuration Module
3+
4+
Provides logging setup and configuration utilities.
5+
"""
6+
7+
import logging
8+
import sys
9+
10+
11+
def setup_logging(
12+
level: int = logging.INFO,
13+
*,
14+
show_time: bool = True,
15+
show_path: bool = True,
16+
) -> None:
17+
"""
18+
Initializes the default logging configuration with customizable options.
19+
20+
Args:
21+
level: Logging level (defaults to logging.INFO)
22+
show_time: Whether to include timestamps in log messages
23+
show_path: Whether to include file paths in log messages
24+
"""
25+
formatter = logging.Formatter(
26+
fmt="%(asctime)s - %(name)s - %(levelname)s - %(message)s"
27+
if show_path
28+
else "%(asctime)s - %(levelname)s - %(message)s",
29+
datefmt="%Y-%m-%d %H:%M:%S" if show_time else None,
30+
)
31+
32+
handler = logging.StreamHandler(stream=sys.stderr)
33+
handler.setFormatter(formatter)
34+
35+
logging.basicConfig(
36+
level=level,
37+
handlers=[handler],
38+
force=True,
39+
)
40+
41+
# Adjust logging levels for external libraries
42+
logging.getLogger("httpx").setLevel(logging.WARNING)
43+
logging.getLogger("httpcore").setLevel(logging.WARNING)
44+
45+
# Set all MCP-related loggers to WARNING level
46+
logging.getLogger("mcp").setLevel(logging.WARNING)
47+
logging.getLogger("mcp.server").setLevel(logging.WARNING)
48+
logging.getLogger("mcp.server.lowlevel").setLevel(logging.WARNING)
49+
logging.getLogger("mcp.server.lowlevel.server").setLevel(logging.WARNING)
50+
logging.getLogger("mcp.server.fastmcp").setLevel(logging.WARNING)

0 commit comments

Comments
 (0)