2010-06-06 3 views
25

Я только начинаю создавать приложение Python для Google App Engine. В среде localhost (на Mac)Получение logging.debug() для работы с Google App Engine/Python

Я пытаюсь отправить информацию об отладке в консоль регистрации GoogleAppEngineLauncher через logging.debug(), но она не отображается. Однако все, что отправлено через, скажем, logging.info() или logging.error(), делает. Я пробовал logging.basicConfig(level=logging.DEBUG) перед logging.debug(), но безрезультатно.

Что мне не хватает?

ответ

3

Флаг является --log_level debug.

В частности, запустите сервер Dev с этой командной строки:

dev_appserver.py --log_level debug . 

Вы можете найти эту информацию, запустив dev_appserver.py --help. Вот соответствующая цитата из вывода команды:

--log_level {отлаживать, информация, предупреждение, критическая, ошибка} уровня журнала, ниже которого лесозаготовительные сообщения генерируются кодом приложения не будет отображаться на консоли (по умолчанию: информация)

Использование знака равенства (то есть, --log_level=debug) также будет работать, потому что питон скрипт google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py полагается на argparse модуля, а второй обрабатывает оба пространства и знаком равенства точно так же, как и указанном в official doc.

+0

Согласно http://stackoverflow.com/a/17350827/242848, это '--log_level = debug' (с знаком '='). Не могли бы вы уточнить/дважды проверить и, возможно, указать на какую-то документацию, и я изменю принятый ответ. – brainjam

+0

Спасибо за отзыв. И '--log_level = debug', и' --log_level debug' работают из-за того, как разработан модуль python 'argparse'. Я отредактировал свой ответ соответственно. – lacton

+0

Хорошо, теперь это принятый ответ.Не могли бы вы изменить свое первое предложение, чтобы быть менее запутанным. Например. «принятый ответ» -> «ранее принятый ответ» – brainjam

8

Если кто-то использует Windows Application Launcher для Windows. Аргумент для отладки можно задать в Edit> Настройки приложения

В дополнительных флагов командной строки, добавьте --log_level = отлаживать

+0

Я попытался сделать это, в настройках запуска. (дополнительные флаги командной строки), я вставляю это и обновляю. Кажется, что он не содержит лишний флаг командной строки, он всегда пуст. – ADL

1

другой альтернативой установки флага LOG_LEVEL:

logging.getLogger().handlers[0].setLevel(logging.DEBUG) 
1

Об одном Mac:

1) нажмите Правка> Настройки приложения

2), а затем скопировать и вставить следующую строку в "Extra Flags:" полевых

--log_level = отлаживать

3) нажмите кнопку Обновить

ваши журналы отладки теперь будет отображаться в лог консоли

Смежные вопросы