Skip to main content
Glama
vzeman
by vzeman
logger.py2.27 kB
"""Logging configuration using Loguru.""" import sys from pathlib import Path from typing import Optional from loguru import logger from .config import get_config def setup_logging(log_file: Optional[str] = None) -> None: """Setup Loguru logging configuration.""" # Remove default handler logger.remove() # Console handler with colors logger.add( sys.stderr, format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>", level="INFO", colorize=True, filter=lambda record: record["name"].startswith("mcp_server_odoo") ) # File handler with rotation (only if we can write to the directory) try: # Try to use project logs directory first log_path = Path("logs/odoo_mcp_server.log") log_path.parent.mkdir(parents=True, exist_ok=True) except (OSError, PermissionError): try: # Fallback to user's home directory log_path = Path.home() / ".odoo_mcp_server" / "logs" / "odoo_mcp_server.log" log_path.parent.mkdir(parents=True, exist_ok=True) except (OSError, PermissionError): # If all else fails, skip file logging logger.warning("Could not create log directory, file logging disabled") return logger.add( log_path, format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}", level="DEBUG", rotation="10 MB", retention="7 days", compression="gz", filter=lambda record: record["name"].startswith("mcp_server_odoo") ) config = get_config() if config.server.log_level == "DEBUG": # Enable debug logging for our modules only logger.add( sys.stdout, level="WARNING", filter=lambda record: not record["name"].startswith("mcp_server_odoo"), format="<dim>{time:HH:mm:ss}</dim> | <level>{level: <8}</level> | {name} - {message}", ) def get_logger(name: str): """Get a logger instance for the given name.""" return logger.bind(name=name) # Initialize logging on import setup_logging()

Latest Blog Posts

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/vzeman/odoo-mcp-server'

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