import sys
from loguru import logger
from app.core.config import settings
# Configure loguru logger
LOG_LEVEL = settings.LOG_LEVEL
LOG_FORMAT = (
"{time:YYYY-MM-DD HH:mm:ss.SSS} | "
"{level: <8} | "
"{name}:{function}:{line} - "
"{message}"
)
# Configure logger
logger.remove() # Remove default logger
logger.add(
sys.stderr,
format=LOG_FORMAT,
level=LOG_LEVEL,
colorize=True,
)
# Add file logging
log_file = settings.STORAGE_DIR / "logs" / "app.log"
log_file.parent.mkdir(parents=True, exist_ok=True)
logger.add(
log_file,
rotation="10 MB",
retention="30 days",
level=LOG_LEVEL,
format=LOG_FORMAT,
)
# Make logger available
app_logger = logger