import logging import sys from logging.handlers import RotatingFileHandler from pathlib import Path def setup_logging(log_level: str = "INFO"): """Настройка логирования""" log_dir = Path("logs") log_dir.mkdir(exist_ok=True) # Формат логов formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s", datefmt="%Y-%m-%d %H:%M:%S" ) # Консольный handler console_handler = logging.StreamHandler(sys.stdout) console_handler.setFormatter(formatter) # Файловый handler file_handler = RotatingFileHandler( log_dir / "app.log", maxBytes=10 * 1024 * 1024, # 10MB backupCount=5 ) file_handler.setFormatter(formatter) # Root logger root_logger = logging.getLogger() root_logger.setLevel(log_level) root_logger.addHandler(console_handler) root_logger.addHandler(file_handler) return root_logger