Files
2026-08-28 10:11:11 -03:00

54 lines
1.2 KiB
Python

"""
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