import logging import os from logging.handlers import RotatingFileHandler from .config import settings def setup_logger(): # Create logs directory if it doesn't exist os.makedirs(os.path.dirname(settings.LOG_FILE), exist_ok=True) # Configure logging logger = logging.getLogger("specter") logger.setLevel(getattr(logging, settings.LOG_LEVEL)) # Create handlers file_handler = RotatingFileHandler( settings.LOG_FILE, maxBytes=10*1024*1024, # 10MB backupCount=5 ) console_handler = logging.StreamHandler() # Create formatters formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # Add handlers to logger logger.addHandler(file_handler) logger.addHandler(console_handler) return logger logger = setup_logger()