Часто, когда я кодирую, мне просто нравится печатать маленькие вещи (в основном текущее значение переменных) для консоли. Я не вижу ничего подобного для Google App Engine, хотя я отмечаю, что в Google App Engine Launcher есть терминал журнала. Есть ли способ написать в Терминал или на какой-либо другой терминал с помощью Google App Engine?
Как написать на консоль в Google App Engine?
Ответ 1
Вы хотите использовать стандартный logging
модуль Python.
import logging
logging.info("hello")
logging.debug("hi") # this won't show up by default
Чтобы увидеть вызовы logging.debug()
в консоли GoogleAppEngineLauncher Logs, вы должны сначала добавить флаг --dev_appserver_log_level=debug
в ваше приложение. Однако будьте осторожны, что вы увидите много шума отладки самого SDK App Engine. полный набор уровней:
-
debug
-
info
-
warning
-
error
-
critical
Вы можете добавить флаг, дважды щелкнув приложение, а затем опустив его в поле Дополнительные флаги.
Ответ 2
См. 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))
Ответ 3
@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
Если вы используете более новую версию Python Development Server (выпуски > 1.7.6 или Mar 2013 и более поздние версии), это, по-видимому, правильные шаги для использования:
-
Включите следующее в script,
import logging logging.debug("something I want to log")
-
И за эта страница документов установите флаг, выбрав "Редактирование" > "Настройки приложения" > "Параметры запуска" > "Флаги дополнительных команд", и добавив,
--log_level=debug
Ответ 5
Вы также должны взглянуть на FirePython. Он позволяет получать сообщения журнала сервера в firebug.
http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/
Ответ 6
Проверьте мой онлайн-интерпретатор Python, работающий в Google App Engine на моем веб-сайте, Изучите Python. Возможно, это то, что вы ищете. Просто используйте print repr (variable) для вещей, которые вы хотите просмотреть, и выполняйте столько раз, сколько хотите.
Ответ 7
Здравствуйте, я использую версию 1.8.6 GoogleAppEngineLauncher, вы можете использовать флаг для установки уровня журнала сообщений, который вы хотите увидеть, например, для отладочных сообщений:
--dev_appserver_log_level debug
Используйте его вместо --debug
(см. ответ @Christopher).
Ответ 8
GAE будет регистрировать стандартную ошибку и печатать ее на консоли или в журнале.
print >> sys.stderr, "Something to log."
Ответ 9
Используйте log.setLevel(Level.ALL) для просмотра сообщений
Уровень фильтрации сообщений по умолчанию кажется "ошибкой". Я не видел никаких полезных сообщений журнала, пока не использовал метод setLevel(), чтобы сделать сообщения .info и .warning видимыми.
Текст, напечатанный в System.out, также не отображался. Кажется, это интерпретируется как messaages уровня log.info().
Ответ 10
Надеюсь, я отвечу на этот вопрос. Журнальные сообщения печатаются в журнале AppEngine, а не в терминале.
Вы можете запустить его нажав кнопку журнала в AppEngine Launcher