1

我的操作服务器上运行了几个自定义操作。我想使用日志模块从这些自定义操作中获取自定义日志消息。但是,我找不到我正在生成的日志。

在我的动作文件中,我使用:

import logging
logger = logging.Logger(__name__)

# in any function
logger.debug("Some log message")

如果我使用以下命令在本地运行我的操作服务器:rasa run actions --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

我可以在哪里以及如何检索我的自定义日志消息?

非常感谢你的帮助!

4

2 回答 2

2

这实际上是一个简单的解决方法。我需要使用logging.getLogger(__name__)而不是logging.Logger(__name__)

import logging
logger = logging.getLogger(__name__)

# in any function
logger.debug("Some log message")
于 2019-08-06T18:04:38.120 回答
0

我已经尝试过这里提出的解决方案,但没有成功。但是,Rasa 论坛中的另一个线程(可在此处找到:“调试或记录自定义组件”)对设置基本配置调用提出了稍微不同的建议,logging.getLogger(__name__)如下所示:

logging.basicConfig(level='DEBUG')

这对我有用。如果相关,我在 docker 容器内使用 rasa-sdk 2.2.0。请记住在启动操作服务器端点时使用--debugor-vv标志,以确保您实际获得调试消息,因为默认模式似乎是--verboseor -v,它只会显示信息日志。

于 2021-01-26T22:05:55.900 回答