""" Logging configuration """ import logging import os from logging.handlers import RotatingFileHandler def setup_logger(app): """ Configure application logging Args: app: Flask application instance """ # Create logs directory log_dir = 'logs' os.makedirs(log_dir, exist_ok=True) # Set log level log_level = getattr(logging, app.config.get('LOG_LEVEL', 'INFO')) # Configure root logger logging.basicConfig( level=log_level, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S' ) # File handler with rotation log_file = app.config.get('LOG_FILE', os.path.join(log_dir, 'app.log')) file_handler = RotatingFileHandler( log_file, maxBytes=10 * 1024 * 1024, # 10MB backupCount=5 ) file_handler.setLevel(log_level) file_handler.setFormatter(logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' )) # Console handler console_handler = logging.StreamHandler() console_handler.setLevel(log_level) console_handler.setFormatter(logging.Formatter( '%(asctime)s - %(levelname)s - %(message)s' )) # Add handlers to app logger app.logger.addHandler(file_handler) app.logger.addHandler(console_handler) app.logger.setLevel(log_level) # Set library log levels logging.getLogger('werkzeug').setLevel(logging.WARNING) logging.getLogger('urllib3').setLevel(logging.WARNING) app.logger.info("Logging configured successfully")