import logging import logging.handlers from app.core.config import get_settings def setup_logging(): """Configure logging for the application.""" settings = get_settings() # Create logger logger = logging.getLogger() logger.setLevel(getattr(logging, settings.LOG_LEVEL)) # Remove existing handlers logger.handlers.clear() # Console handler console_handler = logging.StreamHandler() console_handler.setLevel(getattr(logging, settings.LOG_LEVEL)) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) console_handler.setFormatter(formatter) logger.addHandler(console_handler) # File handler (if specified) if settings.LOG_FILE: file_handler = logging.handlers.RotatingFileHandler( settings.LOG_FILE, maxBytes=10485760, # 10 MB backupCount=5, ) file_handler.setLevel(getattr(logging, settings.LOG_LEVEL)) file_handler.setFormatter(formatter) logger.addHandler(file_handler)