test/moxie/utils/logger.py
2026-03-24 04:04:58 +00:00

44 lines
1.1 KiB
Python
Executable File

"""
Logger Configuration
Centralized logging setup for MOXIE.
"""
import sys
from pathlib import Path
from loguru import logger
def setup_logger(log_file: str = None, debug: bool = False):
"""
Configure the logger for MOXIE.
Args:
log_file: Optional path to log file
debug: Enable debug level logging
"""
# Remove default handler
logger.remove()
# Console handler
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="DEBUG" if debug else "INFO",
colorize=True
)
# File handler (if specified)
if log_file:
log_path = Path(log_file)
log_path.parent.mkdir(parents=True, exist_ok=True)
logger.add(
str(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"
)
return logger