diff --git a/utils/logging_config.py b/utils/logging_config.py index 49a6a82c..b29af7ef 100644 --- a/utils/logging_config.py +++ b/utils/logging_config.py @@ -1,4 +1,5 @@ import logging +import logging.handlers import sys import re from pathlib import Path @@ -74,7 +75,9 @@ def setup_logging(level: str = "INFO", log_file: Optional[str] = None) -> loggin log_path = Path(log_file) log_path.parent.mkdir(parents=True, exist_ok=True) - file_handler = logging.FileHandler(log_path, encoding='utf-8') + file_handler = logging.handlers.RotatingFileHandler( + log_path, encoding='utf-8', maxBytes=10*1024*1024, backupCount=3 + ) file_handler.setLevel(log_level) file_formatter = SafeFormatter( diff --git a/web_server.py b/web_server.py index 469149ef..761df19b 100644 --- a/web_server.py +++ b/web_server.py @@ -29,19 +29,24 @@ logger = get_logger("web_server") # Dedicated source reuse logger — writes to logs/source_reuse.log import logging as _logging +import logging.handlers as _logging_handlers source_reuse_logger = _logging.getLogger("source_reuse") source_reuse_logger.setLevel(_logging.DEBUG) if not source_reuse_logger.handlers: - _sr_handler = _logging.FileHandler("logs/source_reuse.log", encoding="utf-8") + _sr_handler = _logging_handlers.RotatingFileHandler( + "logs/source_reuse.log", encoding="utf-8", maxBytes=5*1024*1024, backupCount=2 + ) _sr_handler.setFormatter(_logging.Formatter("%(asctime)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S")) source_reuse_logger.addHandler(_sr_handler) source_reuse_logger.propagate = False -# Dedicated post-processing logger — writes to logs/post_processing.log +# Dedicated post-processing logger (failures only) — writes to logs/post_processing.log pp_logger = _logging.getLogger("post_processing") pp_logger.setLevel(_logging.DEBUG) if not pp_logger.handlers: - _pp_handler = _logging.FileHandler("logs/post_processing.log", encoding="utf-8") + _pp_handler = _logging_handlers.RotatingFileHandler( + "logs/post_processing.log", encoding="utf-8", maxBytes=5*1024*1024, backupCount=2 + ) _pp_handler.setFormatter(_logging.Formatter("%(asctime)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S")) pp_logger.addHandler(_pp_handler) pp_logger.propagate = False