diff --git a/litellm/integrations/datadog/datadog.py b/litellm/integrations/datadog/datadog.py index 9f95780aa..6ee1bc5e7 100644 --- a/litellm/integrations/datadog/datadog.py +++ b/litellm/integrations/datadog/datadog.py @@ -357,18 +357,16 @@ class DataDogLogger(CustomBatchLogger): ): import json - _exception_payload = { - "error_str": str(original_exception), - "error_class": str(original_exception.__class__.__name__), - "status_code": getattr(original_exception, "status_code", None), - "traceback": traceback.format_exc(), - "user_api_key_dict": user_api_key_dict.model_dump(), - } + _exception_payload = DatadogProxyFailureHookJsonMessage( + exception=str(original_exception), + error_class=str(original_exception.__class__.__name__), + status_code=getattr(original_exception, "status_code", None), + traceback=traceback.format_exc(), + user_api_key_dict=user_api_key_dict.model_dump(), + ) json_payload = json.dumps(_exception_payload) - verbose_logger.debug("Datadog: Logger - Logging payload = %s", json_payload) - dd_payload = DatadogPayload( ddsource=os.getenv("DD_SOURCE", "litellm"), ddtags="", diff --git a/litellm/types/integrations/datadog.py b/litellm/types/integrations/datadog.py index 4d11daa75..79d4eded4 100644 --- a/litellm/types/integrations/datadog.py +++ b/litellm/types/integrations/datadog.py @@ -1,5 +1,5 @@ from enum import Enum -from typing import TypedDict +from typing import Optional, TypedDict class DataDogStatus(str, Enum): @@ -23,6 +23,7 @@ class DD_ERRORS(Enum): class DatadogProxyFailureHookJsonMessage(TypedDict, total=False): exception: str + error_class: str + status_code: Optional[int] traceback: str - request_data: dict user_api_key_dict: dict