import logging from logging import CRITICAL, NullHandler, getLogger from config import Config def setup_logging() -> None: """Настройка логирования. При DISABLE_LOGGING — полное отключение.""" root = getLogger() if Config.DISABLE_LOGGING: root.handlers.clear() root.addHandler(NullHandler()) root.setLevel(CRITICAL) logging.disable(CRITICAL) return from logging import INFO, FileHandler, StreamHandler, basicConfig handlers: list[logging.Handler] = [StreamHandler()] if not Config.DISABLE_STORAGE: log_path = Config.LOG_FILE log_path.parent.mkdir(parents=True, exist_ok=True) handlers.append(FileHandler(log_path, encoding="utf-8")) basicConfig( level=INFO, format="%(asctime)s [%(levelname)s] %(message)s", datefmt="%Y-%m-%d %H:%M:%S", handlers=handlers, force=True, )