mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 03:04:13 +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 re
|
||||||
import smtplib
|
import smtplib
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import threading
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
@ -583,6 +584,7 @@ class ProxyLogging:
|
||||||
start_time=datetime.now(),
|
start_time=datetime.now(),
|
||||||
**request_data,
|
**request_data,
|
||||||
)
|
)
|
||||||
|
|
||||||
# log the custom exception
|
# log the custom exception
|
||||||
await litellm_logging_obj.async_failure_handler(
|
await litellm_logging_obj.async_failure_handler(
|
||||||
exception=original_exception,
|
exception=original_exception,
|
||||||
|
@ -591,6 +593,16 @@ class ProxyLogging:
|
||||||
end_time=time.time(),
|
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:
|
for callback in litellm.callbacks:
|
||||||
try:
|
try:
|
||||||
_callback: Optional[CustomLogger] = None
|
_callback: Optional[CustomLogger] = None
|
||||||
|
|
|
@ -51,7 +51,8 @@ from litellm.router import Router
|
||||||
class testLogger(CustomLogger):
|
class testLogger(CustomLogger):
|
||||||
|
|
||||||
def __init__(self):
|
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(
|
async def async_pre_call_hook(
|
||||||
self,
|
self,
|
||||||
|
@ -72,10 +73,10 @@ class testLogger(CustomLogger):
|
||||||
)
|
)
|
||||||
|
|
||||||
async def async_log_failure_event(self, kwargs, response_obj, start_time, end_time):
|
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
|
self.reaches_failure_event = True
|
||||||
return await super().async_log_failure_event(
|
|
||||||
kwargs, response_obj, start_time, end_time
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
router = Router(
|
router = Router(
|
||||||
|
@ -184,4 +185,5 @@ async def test_chat_completion_request_with_redaction(route, body):
|
||||||
pass
|
pass
|
||||||
await asyncio.sleep(3)
|
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