From cb7386f2746118b8b79eb78d999d23e3e436c0a8 Mon Sep 17 00:00:00 2001 From: busya Date: Sat, 27 Dec 2025 05:53:30 +0300 Subject: [PATCH] superset_tool logger rework --- backend/src/api/routes/settings.py | 2 +- backend/src/core/superset_client.py | 9 ++++++++- superset_tool/utils/logger.py | 6 +++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/backend/src/api/routes/settings.py b/backend/src/api/routes/settings.py index 8f2b55b..324d5c3 100755 --- a/backend/src/api/routes/settings.py +++ b/backend/src/api/routes/settings.py @@ -16,7 +16,7 @@ from ...core.config_models import AppConfig, Environment, GlobalSettings from ...dependencies import get_config_manager from ...core.config_manager import ConfigManager from ...core.logger import logger -from superset_tool.client import SupersetClient +from ...core.superset_client import SupersetClient from superset_tool.models import SupersetConfig import os # [/SECTION] diff --git a/backend/src/core/superset_client.py b/backend/src/core/superset_client.py index 0f3be94..1b988d3 100644 --- a/backend/src/core/superset_client.py +++ b/backend/src/core/superset_client.py @@ -11,12 +11,19 @@ from typing import List, Dict, Optional, Tuple from superset_tool.client import SupersetClient as BaseSupersetClient from superset_tool.models import SupersetConfig +from backend.src.core.logger import logger +from superset_tool.utils.logger import SupersetLogger # [/SECTION] # [DEF:SupersetClient:Class] # @PURPOSE: Extended SupersetClient for migration-specific operations. class SupersetClient(BaseSupersetClient): - + def __init__(self, config: SupersetConfig): + # Initialize with the application's logger wrapped in SupersetLogger + # to ensure BeliefFormatter is used. + sl_logger = SupersetLogger(logger=logger) + super().__init__(config=config, logger=sl_logger) + # [DEF:SupersetClient.get_databases_summary:Function] # @PURPOSE: Fetch a summary of databases including uuid, name, and engine. # @POST: Returns a list of database dictionaries with 'engine' field. diff --git a/superset_tool/utils/logger.py b/superset_tool/utils/logger.py index 182b8c6..862e478 100755 --- a/superset_tool/utils/logger.py +++ b/superset_tool/utils/logger.py @@ -28,7 +28,11 @@ class SupersetLogger: # @PARAM: log_dir (Optional[Path]) - Директория для сохранения лог-файлов. # @PARAM: level (int) - Уровень логирования (e.g., `logging.INFO`). # @PARAM: console (bool) - Флаг для включения вывода в консоль. - def __init__(self, name: str = "superset_tool", log_dir: Optional[Path] = None, level: int = logging.INFO, console: bool = True) -> None: + def __init__(self, name: str = "superset_tool", log_dir: Optional[Path] = None, level: int = logging.INFO, console: bool = True, logger: Optional[logging.Logger] = None) -> None: + if logger: + self.logger = logger + return + self.logger = logging.getLogger(name) self.logger.setLevel(level) self.logger.propagate = False