mxivideo/python_core/utils/logger.py

48 lines
1.1 KiB
Python

"""
Logging utilities for MixVideo V2
"""
import sys
from pathlib import Path
from loguru import logger
import sys
import os
from ..config import settings
def setup_logger(name: str = None):
"""
Set up logger with appropriate configuration.
Args:
name: Logger name (optional)
Returns:
Configured logger instance
"""
# Remove default handler
logger.remove()
# Console handler
logger.add(
sys.stderr,
level=settings.log_level,
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>",
colorize=True
)
# File handler
log_file = settings.temp_dir / settings.log_file
logger.add(
log_file,
level=settings.log_level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
rotation="10 MB",
retention="7 days",
compression="zip"
)
return logger