import sys from pathlib import Path from loguru import logger from config import settings def setup_logging(): log_dir = Path(__file__).parent / "logs" log_dir.mkdir(exist_ok=True) logger.remove() log_format = ( "{time:YYYY-MM-DD HH:mm:ss} | " "{level: <8} | " "{name}:{function}:{line} | " "{message}" ) logger.add( sys.stdout, format=log_format, level=settings.LOG_LEVEL, colorize=True, ) logger.add( log_dir / "app_{time:YYYY-MM-DD}.log", format=log_format, level=settings.LOG_LEVEL, rotation="00:00", retention="7 days", compression="zip", ) logger.add( log_dir / "error_{time:YYYY-MM-DD}.log", format=log_format, level="ERROR", rotation="00:00", retention="30 days", compression="zip", ) logger.info(f"Logging setup complete, level: {settings.LOG_LEVEL}")