feat: replace all print statements with proper logging system
This commit is contained in:
@@ -18,6 +18,7 @@ from app.core.config import (
|
||||
DEFAULT_PROJECTS,
|
||||
SKIP_UNHEALTHY
|
||||
)
|
||||
from app.core.logger import docker_logger
|
||||
|
||||
# Инициализация Docker клиента
|
||||
docker_client = docker.from_env()
|
||||
@@ -33,13 +34,13 @@ def load_excluded_containers() -> List[str]:
|
||||
data = json.load(f)
|
||||
return data.get("excluded_containers", [])
|
||||
except FileNotFoundError:
|
||||
print("⚠️ Файл app/excluded_containers.json не найден, используем пустой список")
|
||||
docker_logger.warning("Файл app/excluded_containers.json не найден, используем пустой список")
|
||||
return []
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"❌ Ошибка парсинга app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка парсинга app/excluded_containers.json: {e}")
|
||||
return []
|
||||
except Exception as e:
|
||||
print(f"❌ Ошибка загрузки app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка загрузки app/excluded_containers.json: {e}")
|
||||
return []
|
||||
|
||||
def save_excluded_containers(containers: List[str]) -> bool:
|
||||
@@ -57,7 +58,7 @@ def save_excluded_containers(containers: List[str]) -> bool:
|
||||
json.dump(data, f, indent=2, ensure_ascii=False)
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Ошибка сохранения app/excluded_containers.json: {e}")
|
||||
docker_logger.error(f"Ошибка сохранения app/excluded_containers.json: {e}")
|
||||
return False
|
||||
|
||||
def get_all_projects() -> List[str]:
|
||||
@@ -105,11 +106,11 @@ def get_all_projects() -> List[str]:
|
||||
projects.add("standalone")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Ошибка получения списка проектов: {e}")
|
||||
docker_logger.error(f"Ошибка получения списка проектов: {e}")
|
||||
return []
|
||||
|
||||
result = sorted(list(projects))
|
||||
print(f"📋 Доступные проекты (с учетом исключенных контейнеров): {result}")
|
||||
docker_logger.info(f"Доступные проекты (с учетом исключенных контейнеров): {result}")
|
||||
return result
|
||||
|
||||
def list_containers(projects: Optional[List[str]] = None, include_stopped: bool = False) -> List[Dict]:
|
||||
@@ -121,7 +122,7 @@ def list_containers(projects: Optional[List[str]] = None, include_stopped: bool
|
||||
# Загружаем список исключенных контейнеров из JSON файла
|
||||
excluded_containers = load_excluded_containers()
|
||||
|
||||
print(f"🚫 Список исключенных контейнеров: {excluded_containers}")
|
||||
docker_logger.info(f"Список исключенных контейнеров: {excluded_containers}")
|
||||
|
||||
items = []
|
||||
excluded_count = 0
|
||||
@@ -198,7 +199,7 @@ def list_containers(projects: Optional[List[str]] = None, include_stopped: bool
|
||||
# Фильтрация исключенных контейнеров
|
||||
if basic_info["name"] in excluded_containers:
|
||||
excluded_count += 1
|
||||
print(f"⚠️ Пропускаем исключенный контейнер: {basic_info['name']}")
|
||||
docker_logger.warning(f"Пропускаем исключенный контейнер: {basic_info['name']}")
|
||||
continue
|
||||
|
||||
# Добавляем контейнер в список
|
||||
@@ -206,11 +207,11 @@ def list_containers(projects: Optional[List[str]] = None, include_stopped: bool
|
||||
|
||||
except Exception as e:
|
||||
# Пропускаем контейнеры с критическими ошибками
|
||||
print(f"⚠️ Пропускаем проблемный контейнер {c.name if hasattr(c, 'name') else 'unknown'} (ID: {c.id[:12]}): {e}")
|
||||
docker_logger.warning(f"Пропускаем проблемный контейнер {c.name if hasattr(c, 'name') else 'unknown'} (ID: {c.id[:12]}): {e}")
|
||||
continue
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Ошибка получения списка контейнеров: {e}")
|
||||
docker_logger.error(f"Ошибка получения списка контейнеров: {e}")
|
||||
return []
|
||||
|
||||
# Сортируем по проекту, сервису и имени
|
||||
@@ -236,8 +237,8 @@ def list_containers(projects: Optional[List[str]] = None, include_stopped: bool
|
||||
except Exception:
|
||||
continue
|
||||
|
||||
print(f"📊 Статистика: найдено {len(items)} контейнеров, исключено {excluded_count} контейнеров")
|
||||
docker_logger.info(f"Статистика: найдено {len(items)} контейнеров, исключено {excluded_count} контейнеров")
|
||||
for project, stats in project_stats.items():
|
||||
print(f" 📦 {project}: {stats['visible']} видимых, {stats['excluded']} исключенных")
|
||||
docker_logger.info(f" 📦 {project}: {stats['visible']} видимых, {stats['excluded']} исключенных")
|
||||
|
||||
return items
|
||||
|
||||
Reference in New Issue
Block a user