Как в Rasa SDK получить журналы с сервера действий, работающего локально?

На моем сервере действий запущено несколько настраиваемых действий. Я хотел бы получать настраиваемые сообщения журнала из этих настраиваемых действий с помощью модуля ведения журнала. Однако я не могу найти журналы, которые генерирую.

В своих файлах действий я использую:

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

Где и как я могу получить свои собственные сообщения журнала?

Спасибо большое за вашу помощь!


person nbeuchat    schedule 06.08.2019    source источник


Ответы (2)


На самом деле это было легко исправить. Мне нужно было использовать logging.getLogger(__name__) вместо logging.Logger(__name__)

import logging
logger = logging.getLogger(__name__)

# in any function
logger.debug("Some log message")
person nbeuchat    schedule 06.08.2019

Я пробовал предложенное здесь решение, но безуспешно. Однако другая ветка на форуме Rasa (находится здесь: Отладка или ведение журнала пользовательского компонента) было несколько иное предложение установить базовый вызов конфигурации logging.getLogger(__name__), показанный ниже:

logging.basicConfig(level='DEBUG')

Это сработало для меня. Если возможно, я использую rasa-sdk 2.2.0 внутри контейнера докеров. Не забудьте использовать флаг --debug или -vv при запуске конечной точки сервера действий, чтобы убедиться, что вы действительно получаете сообщения отладки, поскольку режим по умолчанию, кажется, --verbose или -v, который будет отображать только информационные журналы.

person snekz    schedule 26.01.2021