| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- """
- Shared observability helpers for data modules.
- """
- from __future__ import annotations
- import logging
- from typing import Optional
- logger = logging.getLogger(__name__)
- def safe_log_tool_call(
- tool_logger,
- *,
- tool_name: str,
- success: bool,
- retry_count: int = 0,
- error_code: Optional[str] = None,
- error_message: Optional[str] = None,
- chapter: Optional[int] = None,
- ) -> None:
- try:
- tool_logger.log_tool_call(
- tool_name,
- success,
- retry_count=retry_count,
- error_code=error_code,
- error_message=error_message,
- chapter=chapter,
- )
- except Exception as exc:
- logger.warning(
- "failed to log tool call %s: %s",
- tool_name,
- exc,
- )
|