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() |