new site
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
"""
|
||||
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
|
||||
Reference in New Issue
Block a user