Skip to main content
Glama

MCP Server

by hburgoyne
logger.py2.4 kB
""" Logger configuration for the MCP server. """ import logging import os import sys from logging.handlers import RotatingFileHandler import json def setup_logger(name: str = "mcp_server", log_level: str = "INFO") -> logging.Logger: """ Set up and configure logger Args: name: Name of the logger log_level: Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) Returns: Configured logger instance """ # Convert string log level to logging constant level = getattr(logging, log_level.upper(), logging.INFO) # Create logs directory if it doesn't exist logs_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "logs") os.makedirs(logs_dir, exist_ok=True) # Configure logger logger = logging.getLogger(name) logger.setLevel(level) # Remove existing handlers if any for handler in logger.handlers[:]: logger.removeHandler(handler) # Define log format log_format = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") # Set up console handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(log_format) logger.addHandler(console_handler) # Set up file handler with rotation file_handler = RotatingFileHandler( os.path.join(logs_dir, f"{name}.log"), maxBytes=10485760, # 10MB backupCount=10 ) file_handler.setFormatter(log_format) logger.addHandler(file_handler) # Prevent propagation to root logger logger.propagate = False return logger def get_json_logger(name: str = "mcp_server", log_level: str = "INFO") -> logging.Logger: """ Get a JSON-formatted logger for structured logging in production. This is a wrapper around the JSON logger from json_logger.py Args: name: Name of the logger log_level: Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) Returns: JSON-formatted logger instance """ from app.utils.json_logger import setup_json_logger return setup_json_logger(name, log_level) # Determine if we should use JSON logging based on environment use_json = os.getenv("USE_JSON_LOGGING", "false").lower() == "true" # Create default logger based on environment logger = get_json_logger() if use_json else setup_logger()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hburgoyne/picard_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server