Как мне написать на консоль в Google App Engine? - PullRequest
50 голосов
/ 08 апреля 2009

Часто, когда я пишу код, мне просто нравится выводить на консоль мелочи (в основном, текущее значение переменных). Я не вижу ничего подобного в Google App Engine, хотя отмечу, что в Панели запуска Google App Engine действительно есть лог-терминал. Есть ли способ написать в указанный Терминал или в другой терминал, используя Google App Engine?

Ответы [ 11 ]

67 голосов
/ 12 марта 2012

Вы захотите использовать стандартный модуль Python logging.

import logging

logging.info("hello")
logging.debug("hi") # this won't show up by default

Чтобы просмотреть вызовы на logging.debug() в консоли журналов GoogleAppEngineLauncher, сначала необходимо добавить флаг --dev_appserver_log_level=debug в свое приложение. Однако имейте в виду, что вы увидите много шума отладки в самом App Engine SDK. полный набор уровней :

  • debug
  • info
  • warning
  • error
  • critical

Вы можете добавить флаг, дважды щелкнув приложение, а затем поместив его в поле Extra Flags .

Adding the --dev_appserver_log_level flag to your app in the GoogleAppEngineLauncher

31 голосов
/ 08 апреля 2009

См. https://cloud.google.com/appengine/docs/python/requests#Python_Logging
и http://docs.python.org/library/logging.html

Вы, вероятно, хотите использовать что-то вроде:

logging.debug("value of my var is %s", str(var))
9 голосов
/ 07 декабря 2010

@ Manjoor

Вы можете сделать то же самое в Java.

import java.util.logging.Logger;
// ...

public class MyServlet extends HttpServlet {
    private static final Logger log = Logger.getLogger(MyServlet.class.getName());

    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {

        log.info("An informational message.");

        log.warning("A warning message.");

        log.severe("An error message.");
    }
}

См. «Регистрация» в http://code.google.com/appengine/docs/java/runtime.html

4 голосов
/ 18 марта 2014

Если вы используете более позднюю версию Python Development Server (выпуски> 1.7.6 или март 2013 г. и более поздние версии), кажется, что это правильные шаги для использования:

  1. Включите в ваш скрипт следующее,

    import logging logging.debug("something I want to log")

  2. И на этой странице документов установите флаг, перейдя в меню «Редактирование»> «Настройки приложения»> «Параметры запуска»> «Дополнительные флаги командной строки» и добавив

    --log_level=debug

2 голосов
/ 08 апреля 2009

Вы также должны взглянуть на FirePython. Позволяет получать сообщения журнала сервера в firebug.

http://appengine -cookbook.appspot.com / рецепт / FirePython-регистратор-консоль внутри-поджигатель /

1 голос
/ 22 ноября 2013

Здравствуйте! Я использую GoogleAppEngineLauncher версии 1.8.6, вы можете использовать флаг для установки уровня журнала сообщений, который вы хотите видеть, например, для отладочных сообщений:

--dev_appserver_log_level debug

Используйте его вместо --debug (см. Ответ @Christopher).

1 голос
/ 30 августа 2011

Проверьте мой онлайн-переводчик Python, работающий в Google App Engine, на моем веб-сайте, Learn Python . Это может быть то, что вы ищете. Просто используйте print repr (переменную) для вещей, на которые вы хотите посмотреть, и выполняйте столько раз, сколько хотите.

0 голосов
/ 30 июля 2018

Использование модуля logging - хорошая практика, , но это не обязательно.

Вы можете просто набрать print() s для записи в консоль журнала Google App Engine.

0 голосов
/ 06 января 2016

Я надеюсь, что отвечаю на вопрос. Сообщения журнала печатаются в журнале AppEngine, а не в терминале.

Вы можете запустить его , нажав на кнопку журналов в AppEngine Launcher

0 голосов
/ 24 сентября 2013

Используйте log.setLevel (Level.ALL) для просмотра сообщений

Уровень фильтрации сообщений по умолчанию выглядит как «ошибка». Я не видел никаких полезных сообщений журнала, пока не использовал метод setLevel (), чтобы сделать сообщения .info и .warning видимыми.

Текст, напечатанный в System.out, тоже не показывался. Кажется, это интерпретируется как сообщения уровня log.info ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...