From 2b4ac6ae531b77dc7fbc99c6198d0eeadd5d8f9c Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 22 Jul 2025 19:47:55 +0100 Subject: [PATCH] added more detailed loging --- backend/ml_models/api.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/backend/ml_models/api.py b/backend/ml_models/api.py index d814ccf1..ddfa7684 100644 --- a/backend/ml_models/api.py +++ b/backend/ml_models/api.py @@ -129,7 +129,7 @@ class ModelApi: async def predict_async(self, file_location, model_prefix: str): """Makes an asynchronous POST request to the Model API with the provided parameters.""" - logger.info(f"Making request to {model_prefix} change api") + logger.info(f"Making request to {model_prefix} model API") url = f"{self.base_url}/{self.MODEL_URLS[model_prefix]}/predict" payload = { "file_location": file_location, @@ -144,12 +144,26 @@ class ModelApi: url, json=payload, headers={"Content-Type": "application/json"}, timeout=120 ) as response: text = await response.text() + if response.status != 200: - logger.error(f"{model_prefix} | Status {response.status} | Body:\n{text}") - response.raise_for_status() - return await response.json() + logger.error( + f"\n--- API ERROR [{model_prefix}] ---\n" + f"Status Code: {response.status}\n" + f"URL: {url}\n" + f"Payload: {payload}\n" + f"Response Text:\n{text}\n" + f"----------------------------" + ) + return None + + # Successful response + return aiohttp.helpers.json.loads(text) + except aiohttp.ClientError as e: - logger.error(f"An error occurred: {e}") + logger.error(f"[{model_prefix}] HTTP error: {e}") + return None + except Exception as e: + logger.exception(f"[{model_prefix}] Unexpected error: {e}") return None @staticmethod