diff --git a/litellm/_logging.py b/litellm/_logging.py index d7e2c9e778..1ae59ffd0b 100644 --- a/litellm/_logging.py +++ b/litellm/_logging.py @@ -36,7 +36,10 @@ class JsonFormatter(Formatter): } if record.exc_info: - json_record["stacktrace"] = self.formatException(record.exc_info) + try: + json_record["stacktrace"] = self.formatException(record.exc_info) + except Exception as e: + json_record["stacktrace"] = f"Error serializing stacktrace: {str(e)}" return json.dumps(json_record) diff --git a/litellm/llms/openai_like/common_utils.py b/litellm/llms/openai_like/common_utils.py index 116277b6dd..7cce7b43b2 100644 --- a/litellm/llms/openai_like/common_utils.py +++ b/litellm/llms/openai_like/common_utils.py @@ -4,14 +4,12 @@ import httpx class OpenAILikeError(Exception): - def __init__(self, status_code, message): + def __init__(self, status_code, message, request: Optional[httpx.Request] = None, response: Optional[httpx.Response] = None): self.status_code = status_code self.message = message - self.request = httpx.Request(method="POST", url="https://www.litellm.ai") - self.response = httpx.Response(status_code=status_code, request=self.request) - super().__init__( - self.message - ) # Call the base class constructor with the parameters it needs + self.request = request + self.response = response + super().__init__(message) # Call the base class constructor with the parameters it needs class OpenAILikeBase: