""" Logging configuration for Odoo Directory CLI. """ import logging import sys from typing import Optional from rich.console import Console from rich.logging import RichHandler # Global console for rich output console = Console() def setup_logging(level: str = "INFO") -> None: """ Configure logging with rich handler for pretty console output. Args: level: Log level (DEBUG, INFO, WARNING, ERROR, CRITICAL) """ logging.basicConfig( level=level.upper(), format="%(message)s", datefmt="[%X]", handlers=[ RichHandler( console=console, show_time=True, show_path=False, markup=True, rich_tracebacks=True, ) ], ) def get_logger(name: str, level: Optional[str] = None) -> logging.Logger: """ Get a logger instance with optional level override. Args: name: Logger name (usually __name__) level: Optional level override Returns: Configured logger instance """ logger = logging.getLogger(name) if level: logger.setLevel(level.upper()) return logger