mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-26 13:18:34 +07:00
docs(plugin): add guide to log strings for debugging
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Outputting Logs for Development and Debugging
|
||||
---
|
||||
|
||||
As a plugin developer, you may want to print arbitrary strings to logs during plugin processing for development or debugging purposes.
|
||||
|
||||
For this purpose, the plugin SDK implements a handler for Python's standard `logging` library. By using this, you can output any string to both the **standard output during remote debugging** and the **plugin daemon container logs** (community edition only).
|
||||
|
||||
## Sample
|
||||
|
||||
Import `plugin_logger_handler` and add it to your logger as a handler. Below is a sample code for a tool plugin.
|
||||
|
||||
```python
|
||||
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 a INFO log message.")
|
||||
logger.warning("This is a WARNING log message.")
|
||||
logger.error("This is a ERROR log message.")
|
||||
|
||||
yield self.create_text_message("Hello, Dify!")
|
||||
```
|
||||
Reference in New Issue
Block a user