项目文件夹

文件
2026-07-13 12:24:33 +08:00

29 行
881 B
Python

# SPDX-License-Identifier: Apache-2.0
"""Warning log for timeout errors (message + stack trace)."""
# Future
from __future__ import annotations
# First Party
from lmcache.logging import init_logger
from lmcache.v1.mp_observability.event import Event, EventType
from lmcache.v1.mp_observability.event_bus import EventCallback, EventSubscriber
logger = init_logger(__name__)
class TimeoutLoggingSubscriber(EventSubscriber):
"""Logs timeout errors at warning level with their stack trace."""
def get_subscriptions(self) -> dict[EventType, EventCallback]:
return {EventType.TIMEOUT_RAISED: self._on_timeout}
def _on_timeout(self, event: Event) -> None:
logger.warning(
"Timeout raised (%s): %s\n%s",
event.metadata["exception_type"],
event.metadata["message"],
event.metadata["stacktrace"],
)