我的操作服务器上运行了多个自定义操作。我想使用日志记录模块从这些自定义操作中获取自定义日志消息。但是,我找不到正在生成的日志。
在我的操作文件中,我使用:
import logging
logger = logging.Logger(__name__)
# in any function
logger.debug("Some log message")
如果我使用:rasa 运行动作 --actions actions --debug 在本地运行我的操作服务器,尽管执行了函数,但这些日志消息不会出现。我得到的唯一日志是以下形式:
2019-08-06 12:00:14 DEBUG rasa.cli.utils - 'actions.py' not found. Using default location 'actions' instead.
2019-08-06 12:00:14 INFO rasa_sdk.endpoint - Starting action endpoint server...
2019-08-06 12:00:20 INFO rasa_sdk.executor - Registered function for 'action_display_selector'.
2019-08-06 12:00:20 INFO rasa_sdk.executor - Registered function for 'action_explain'.
2019-08-06 12:00:20 INFO rasa_sdk.executor - Registered function for 'action_show_pictures'.
2019-08-06 12:00:20 INFO rasa_sdk.executor - Registered function for 'form_contact'.
2019-08-06 12:00:20 INFO rasa_sdk.executor - Registered function for 'form_preferences'.
2019-08-06 12:00:20 INFO rasa_sdk.endpoint - Action endpoint is up and running. on ('0.0.0.0', 5055)
2019-08-06 12:01:20 DEBUG rasa_sdk.executor - Received request to run 'action_display_selector'
2019-08-06 12:01:20 DEBUG rasa_sdk.executor - Finished running 'action_display_selector'
127.0.0.1 - - [2019-08-06 12:01:20] "POST /webhook HTTP/1.1" 200 208 0.515258
在哪里以及如何检索我的自定义日志消息?
非常感谢您的帮助!
这实际上很容易解决。我需要使用logging.getLogger(__name__)
而不是logging.Logger(__name__)
import logging
logger = logging.getLogger(__name__)
# in any function
logger.debug("Some log message")
我已经尝试了这里提出的解决方案,但没有运气。但是,Rasa 论坛中的另一个线程(在此处找到:"调试或日志记录自定义组件"(对设置基本配置调用的建议略有不同,如下所示logging.getLogger(__name__)
:
logging.basicConfig(level='DEBUG')
这对我有用。如果相关,我在 docker 容器中使用 rasa-sdk 2.2.0。请记住在启动操作服务器终结点时使用 --debug
或 -vv
标志,以确保您实际收到调试消息,因为默认模式似乎是 --verbose
或 -v
,这将仅显示信息日志。