mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-27 13:28:32 +07:00
59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
---
|
|
dimensions:
|
|
type:
|
|
primary: implementation
|
|
detail: standard
|
|
level: intermediate
|
|
standard_title: Debugging logs
|
|
language: ja
|
|
description: Difyプラグイン開発において、開発とデバッグを容易にするためにツールにログ出力機能を追加する方法を紹介します。
|
|
title: 開発やデバッグのためのログの出力
|
|
---
|
|
|
|
プラグインの開発者は、開発やデバッグの目的で、プラグインの処理の過程で任意の文字列をログに出力したいと考えることがあるでしょう。
|
|
|
|
この目的で、プラグインの SDK には、Python の標準ライブラリである `logging` 用のハンドラが実装されています。これを利用すれば、**リモートデバッグ中の標準出力** にも **プラグインデーモンのコンテナログ**(コミュニティ版のみ)にも、任意の文字列を出力できます。
|
|
|
|
## サンプル
|
|
|
|
`plugin_logger_handler` をインポートして、ロガーにハンドラとして追加します。以下は、ツールプラグインのサンプルコードです。
|
|
|
|
```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!")
|
|
```
|
|
|
|
{/*
|
|
Contributing Section
|
|
DO NOT edit this section!
|
|
It will be automatically generated by the script.
|
|
*/}
|
|
|
|
---
|
|
|
|
[このページを編集する](https://github.com/langgenius/dify-docs/edit/main/plugin-dev-ja/0222-debugging-logs.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)
|
|
|