import sys from loguru import logger from app.settings import settings def setup_logging() -> None: logger.remove() level = "DEBUG" if settings.debug else "INFO" logger.add( sys.stdout, level=level, colorize=True, format=( "{time:YYYY-MM-DD HH:mm:ss} | " "{level: <8} | " "{name}:{function}:{line} | " "{message}" ), ) try: logger.add( "logs/app_{time:YYYY-MM-DD}.log", level=level, rotation="1 day", retention="30 days", compression="gz", format="{time:YYYY-MM-DD HH:mm:ss} | {level: <8} | {name}:{function}:{line} | {message}", ) except (FileExistsError, OSError): logger.info("File logging disabled (Docker/read-only fs)") logger.info("Logging configured | level={}", level)