Home / Class/ LoggingCallbackHandler Class — langchain Architecture

LoggingCallbackHandler Class — langchain Architecture

Architecture documentation for the LoggingCallbackHandler class in logging.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  d2a533f6_07c3_afbb_1995_84f6ea5e24e2["LoggingCallbackHandler"]
  94194afc_2151_8249_5bab_5ea33f1d6c7e["FunctionCallbackHandler"]
  d2a533f6_07c3_afbb_1995_84f6ea5e24e2 -->|extends| 94194afc_2151_8249_5bab_5ea33f1d6c7e
  c93b073e_0531_3422_6c6f_b830d435b217["logging.py"]
  d2a533f6_07c3_afbb_1995_84f6ea5e24e2 -->|defined in| c93b073e_0531_3422_6c6f_b830d435b217
  301f8138_5a7d_140f_e0e7_02f1a3d99a04["__init__()"]
  d2a533f6_07c3_afbb_1995_84f6ea5e24e2 -->|method| 301f8138_5a7d_140f_e0e7_02f1a3d99a04
  a34051b5_9ba0_758c_fd42_3fa38c4e1001["on_text()"]
  d2a533f6_07c3_afbb_1995_84f6ea5e24e2 -->|method| a34051b5_9ba0_758c_fd42_3fa38c4e1001

Relationship Graph

Source Code

libs/langchain/langchain_classic/callbacks/tracers/logging.py lines 13–56

class LoggingCallbackHandler(FunctionCallbackHandler):
    """Tracer that logs via the input Logger."""

    name: str = "logging_callback_handler"

    def __init__(
        self,
        logger: logging.Logger,
        log_level: int = logging.INFO,
        extra: dict | None = None,
        **kwargs: Any,
    ) -> None:
        """Initialize the LoggingCallbackHandler.

        Args:
            logger: the logger to use for logging
            log_level: the logging level (default: logging.INFO)
            extra: the extra context to log (default: None)
            **kwargs: additional keyword arguments.
        """
        log_method = getattr(logger, logging.getLevelName(level=log_level).lower())

        def callback(text: str) -> None:
            log_method(text, extra=extra)

        super().__init__(function=callback, **kwargs)

    @override
    def on_text(
        self,
        text: str,
        *,
        run_id: UUID,
        parent_run_id: UUID | None = None,
        **kwargs: Any,
    ) -> None:
        try:
            crumbs_str = f"[{self.get_breadcrumbs(run=self._get_run(run_id=run_id))}] "
        except TracerException:
            crumbs_str = ""
        self.function_callback(
            f"{get_colored_text('[text]', color='blue')}"
            f" {get_bolded_text(f'{crumbs_str}New text:')}\n{text}",
        )

Frequently Asked Questions

What is the LoggingCallbackHandler class?
LoggingCallbackHandler is a class in the langchain codebase, defined in libs/langchain/langchain_classic/callbacks/tracers/logging.py.
Where is LoggingCallbackHandler defined?
LoggingCallbackHandler is defined in libs/langchain/langchain_classic/callbacks/tracers/logging.py at line 13.
What does LoggingCallbackHandler extend?
LoggingCallbackHandler extends FunctionCallbackHandler.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free