from loguru import logger
import sys
from pathlib import Path
def setup_logging(log_level: str = "INFO", log_file: str = "app.log"):
"""Setup logging configuration with loguru"""
# Remove default handler
logger.remove()
# Add console handler
logger.add(
sys.stdout,
level=log_level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
)
# Add file handler
log_path = Path(log_file)
logger.add(
log_path,
level=log_level,
format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} - {message}",
rotation="10 MB",
retention="1 week",
)
return logger
# Global logger instance
log = setup_logging()