mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 10:44:24 +00:00
fix(utils.py): log failure to sync failure callbacks as well
This commit is contained in:
parent
b1b21b0340
commit
fd11f63f71
2 changed files with 19 additions and 5 deletions
|
@ -7,6 +7,7 @@ import os
|
|||
import re
|
||||
import smtplib
|
||||
import subprocess
|
||||
import threading
|
||||
import time
|
||||
import traceback
|
||||
from datetime import datetime, timedelta
|
||||
|
@ -583,6 +584,7 @@ class ProxyLogging:
|
|||
start_time=datetime.now(),
|
||||
**request_data,
|
||||
)
|
||||
|
||||
# log the custom exception
|
||||
await litellm_logging_obj.async_failure_handler(
|
||||
exception=original_exception,
|
||||
|
@ -591,6 +593,16 @@ class ProxyLogging:
|
|||
end_time=time.time(),
|
||||
)
|
||||
|
||||
threading.Thread(
|
||||
target=litellm_logging_obj.failure_handler,
|
||||
args=(
|
||||
original_exception,
|
||||
traceback.format_exc(),
|
||||
time.time(),
|
||||
time.time(),
|
||||
),
|
||||
).start()
|
||||
|
||||
for callback in litellm.callbacks:
|
||||
try:
|
||||
_callback: Optional[CustomLogger] = None
|
||||
|
|
|
@ -51,7 +51,8 @@ from litellm.router import Router
|
|||
class testLogger(CustomLogger):
|
||||
|
||||
def __init__(self):
|
||||
self.reaches_failure_event = False
|
||||
self.reaches_sync_failure_event = False
|
||||
self.reaches_async_failure_event = False
|
||||
|
||||
async def async_pre_call_hook(
|
||||
self,
|
||||
|
@ -72,10 +73,10 @@ class testLogger(CustomLogger):
|
|||
)
|
||||
|
||||
async def async_log_failure_event(self, kwargs, response_obj, start_time, end_time):
|
||||
self.reaches_async_failure_event = True
|
||||
|
||||
def log_failure_event(self, kwargs, response_obj, start_time, end_time):
|
||||
self.reaches_failure_event = True
|
||||
return await super().async_log_failure_event(
|
||||
kwargs, response_obj, start_time, end_time
|
||||
)
|
||||
|
||||
|
||||
router = Router(
|
||||
|
@ -184,4 +185,5 @@ async def test_chat_completion_request_with_redaction(route, body):
|
|||
pass
|
||||
await asyncio.sleep(3)
|
||||
|
||||
assert _test_logger.reaches_failure_event is True
|
||||
assert _test_logger.reaches_async_failure_event is True
|
||||
assert _test_logger.reaches_sync_failure_event is True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue