Как выполнить команду печати в Google App Engine? - PullRequest
4 голосов
/ 07 апреля 2011

Я занимаюсь разработкой на google app engine и хочу распечатать значения, которые отправляются на сервер из браузера. Когда я вставляю команды печати в свои обработчики, на консоли, работающей на локальном сервере, ничего не печатается!

Как мне обойти это?

Гаф

Ответы [ 5 ]

8 голосов
/ 07 апреля 2011

Вместо того, чтобы просто print выводить значения, используйте модуль logging .Как правило, это хорошая практика, так как это означает, что вы потенциально можете оставить некоторые полезные выходные данные отладки, даже когда вы работаете в производственном режиме.

import logging
logging.error("This is an error message that will show in the console")

По умолчанию dev_appserver.py не будет отображать сообщения ниже уровня ведения журналаИНФОРМАЦИЯ, но вы можете запустить dev_appserver.py с флагом --debug, а затем вы сможете увидеть выходные данные с нижнего уровня logging.DEBUG и распределить различные вызовы журналирования в вашем коде, например:

logging.debug("some helpful debug info")

Если вы оставите их, когда ваше приложение будет запущено, они будут видны в административной области вашего приложения в разделе журналов.

1 голос
/ 07 апреля 2011

Как подсказал @Chris Farmiloe, вы должны использовать модуль регистрации.Google appengine по умолчанию поддерживает модуль регистрации.Вы можете видеть различные уровни журналов для ваших приложений в консоли appengine.Модуль логирования пригодится в производственной среде.Где вы можете увидеть все ваши журналы.Для общей информации используйте

logging.info('This is just for information')
0 голосов
/ 01 августа 2014

Используя Go Language (я не знаю, работает ли это с другими языками), вы можете сделать это через функцию appengine.Context.Debugf https://developers.google.com/appengine/docs/go/reference#Context

func yourfunction (r *http.Request){
    c := appengine.NewContext(r)
    c.Debugf("%v\n","Your message")
    ....
}

Возможно, вам придется установить минимальный уровень log_level на сервере разработки:

dev_appserver.py --log_level debug [your application]
0 голосов
/ 08 апреля 2011

Когда мне нужен быстрый и грязный способ распечатать некоторую информацию, я делаю это:

assert False, "Helpful information"

после получения необходимой информации я удаляю строку.

0 голосов
/ 07 апреля 2011
self.response.out.write("Hallo World")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...