feat: replace all print statements with proper logging system

This commit is contained in:
Сергей Антропов
2025-08-20 17:19:49 +03:00
parent f3221d6102
commit a49714ab14
6 changed files with 96 additions and 25 deletions

View File

@@ -17,6 +17,7 @@ import docker
from app.core.auth import get_current_user
from app.core.docker import docker_client, DEFAULT_TAIL
from app.core.logger import api_logger
router = APIRouter()
@@ -64,7 +65,7 @@ def api_logs_stats(container_id: str, current_user: str = Depends(get_current_us
)
except Exception as e:
print(f"Error getting log stats for {container_id}: {e}")
api_logger.error(f"Error getting log stats for {container_id}: {e}")
return JSONResponse({"error": str(e)}, status_code=500)
@router.get("/{container_id}")
@@ -193,7 +194,7 @@ def api_logs(
)
except Exception as e:
print(f"Error getting logs for {container_id}: {e}")
api_logger.error(f"Error getting logs for {container_id}: {e}")
return JSONResponse({"error": str(e)}, status_code=500)
@router.post("/snapshot")

View File

@@ -14,6 +14,7 @@ from fastapi.responses import JSONResponse
from app.core.auth import verify_token, get_current_user
from app.core.docker import docker_client, DEFAULT_TAIL
from app.core.logger import websocket_logger
from datetime import datetime
router = APIRouter()
@@ -93,30 +94,30 @@ async def ws_logs(ws: WebSocket, container_id: str, tail: int = DEFAULT_TAIL, to
# Получаем логи (только последние строки, без follow)
try:
print(f"Getting logs for container {container.name} (ID: {container.id[:12]})")
websocket_logger.info(f"Getting logs for container {container.name} (ID: {container.id[:12]})")
logs = container.logs(tail=tail).decode(errors="ignore")
if logs:
await ws.send_text(logs)
else:
await ws.send_text("No logs available")
except Exception as e:
print(f"Error getting logs for {container.name}: {e}")
websocket_logger.error(f"Error getting logs for {container.name}: {e}")
await ws.send_text(f"ERROR getting logs: {e}")
# Простое WebSocket соединение - только отправляем логи один раз
print(f"WebSocket connection established for {container.name}")
websocket_logger.info(f"WebSocket connection established for {container.name}")
except WebSocketDisconnect:
print(f"WebSocket client disconnected for container {container.name}")
websocket_logger.info(f"WebSocket client disconnected for container {container.name}")
except Exception as e:
print(f"WebSocket error for {container.name}: {e}")
websocket_logger.error(f"WebSocket error for {container.name}: {e}")
try:
await ws.send_text(f"ERROR: {e}")
except:
pass
finally:
try:
print(f"Closing WebSocket connection for container {container.name}")
websocket_logger.info(f"Closing WebSocket connection for container {container.name}")
await ws.close()
except:
pass