--- 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)