mxivideo/python_core/utils/logger.py

49 lines
1.1 KiB
Python

"""
Logging utilities for MixVideo V2
"""
import sys
from pathlib import Path
from loguru import logger
import sys
import os
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
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