Spaces:
Sleeping
Sleeping
| 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 |