import logging import os from pathlib import Path from utils.config import LOG_LEVEL, LOG_FILE def setup_logger(name: str, level: str = None) -> logging.Logger: """Configure un logger pour le projet""" # Création du répertoire de logs log_dir = Path("logs") log_dir.mkdir(exist_ok=True) # Configuration du niveau log_level = level or LOG_LEVEL or "INFO" # Création du logger logger = logging.getLogger(name) logger.setLevel(getattr(logging, log_level.upper())) # Éviter les handlers multiples if logger.handlers: return logger # Handler pour fichier file_handler = logging.FileHandler(log_dir / "scrapdji.log", encoding='utf-8') file_handler.setLevel(logging.DEBUG) # Handler pour console console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) # Format formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) # Ajout des handlers logger.addHandler(file_handler) logger.addHandler(console_handler) return logger