Получение logging.debug() для работы с Google App Engine/Python
Я только начинаю создавать приложение Python для Google App Engine. В среде localhost (на Mac)
Я пытаюсь отправить информацию об отладке в консоль регистрации GoogleAppEngineLauncher через logging.debug()
, но она не отображается. Однако все, что отправлено через, скажем, logging.info()
или logging.error()
, появляется. Я пробовал logging.basicConfig(level=logging.DEBUG)
перед logging.debug()
, но безрезультатно.
Что мне не хватает?
Ответы
Ответ 1
Флаг --log_level debug
.
Конкретно, запустите свой dev-сервер с помощью этой командной строки:
dev_appserver.py --log_level debug .
Вы можете найти эту информацию, запустив dev_appserver.py --help
. Здесь соответствующая цитата из вывода команды:
- log_level {debug, info, warning, critical, error} уровень журнала, ниже которого генерируются сообщения протоколирования по коду приложения не будет отображаться на console (по умолчанию: информация)
Использование знака равенства (т.е. --log_level=debug
) также будет работать, потому что python script google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py
опирается на модуль argparse
, а последний обрабатывает оба пространства и знак равенства таким же образом, как и указанном в официальном документе .
Ответ 2
Если кто-то использует Windows Application Launcher для Windows. Аргумент для отладки можно задать в разделе "Редактирование" > "Настройки приложения"
В дополнительных флажках командной строки добавьте -log_level = debug
Ответ 3
еще одна альтернатива установке значка log_level:
logging.getLogger().handlers[0].setLevel(logging.DEBUG)
Ответ 4
На Mac:
1) нажмите "Редактирование" > "Настройки приложения"
2), затем скопируйте и вставьте следующую строку в поле "Дополнительные флаги:"
- log_level = отлаживать
3) нажмите Обновить
ваши журналы отладки будут отображаться в консоли журнала