Skip to main content
While developing or debugging a plugin, you often want to log what your code is doing. The plugin SDK provides a handler for Python’s standard logging library. Add it to your logger to write any string to both the standard output during remote debugging and the plugin daemon container logs (community edition only).

Example

Import plugin_logger_handler and add it to your logger. The following example shows a tool plugin.
from collections.abc import Generator
from typing import Any
from dify_plugin import Tool
from dify_plugin.entities.tool import ToolInvokeMessage


# Import logging and custom handler
import logging
from dify_plugin.config.logger_format import plugin_logger_handler

# Set up logging with the custom handler
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.addHandler(plugin_logger_handler)


class LoggerDemoTool(Tool):
    def _invoke(self, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage]:

        # Log messages with different severity levels
        logger.info("This is an INFO log message.")
        logger.warning("This is a WARNING log message.")
        logger.error("This is an ERROR log message.")

        yield self.create_text_message("Hello, Dify!")

Edit this page | Report an issue