diff --git a/src/core/logging_config.py b/src/core/logging_config.py index d30d5da..6b3b2ca 100644 --- a/src/core/logging_config.py +++ b/src/core/logging_config.py @@ -2,6 +2,8 @@ # import logging +import os +from pathlib import Path from typing import Optional from .database import DatabaseLogHandler, DatabaseManager from .settings import settings @@ -23,8 +25,25 @@ def setup_logging(run_id: str, db_manager: Optional[DatabaseManager] = None): """Настраивает систему логирования проекта.""" # log_format = '[%(asctime)s] [%(levelname)s] :: %(message)s' + + # + # Создаем директорию для логов, если она не существует. + os.makedirs(settings.log_dir, exist_ok=True) + # + + # + # Добавляем обработчик для записи логов в файл. + log_file_name = f"run_{run_id}.log" + file_handler = logging.FileHandler(settings.log_dir / log_file_name) + file_handler.setLevel(logging.INFO) + file_handler.setFormatter(logging.Formatter(log_format)) + + root_logger = logging.getLogger('') + root_logger.addHandler(file_handler) + # + logging.basicConfig( - level=logging.INFO, + level=logging.DEBUG, format=log_format, datefmt='%Y-%m-%d %H:%M:%S', force=True # Перезаписывает любую существующую конфигурацию