如何在Google App Engine中写入控制台?

通常当我编码时,我只想把小东西(主要是variables的当前值)输出到控制台。 虽然我注意到Google App Engine Launcher确实有一个Logterminal,但是我没有看到Google App Engine的任何内容。 有没有办法使用Google App Engine写信给上述terminal或其他terminal?

你会想使用Python的标准logging模块。

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

要在GoogleAppEngineLauncher Logs控制台中查看对logging.debug()调用,必须先将标志--dev_appserver_log_level=debug添加到您的应用程序。 但是,请注意,您将看到来自App Engine SDK本身的大量debugging噪声。 全套的水平是:

  • debug
  • info
  • warning
  • error
  • critical

您可以通过双击该应用程序添加该标志,然后将其放入Extra Flags字段中。

在GoogleAppEngineLauncher中将--dev_appserver_log_level标志添加到您的应用程序中

请参阅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)) 

@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中的; “日志logging”

如果您使用的是更新版本的Python开发服务器(版本> 1.7.6,或2013年3月及以后),这些似乎是正确的使用步骤:

  1. 在脚本中包含以下内容,

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

  2. 在这个文档页面 ,通过编辑>应用程序设置>启动设置>额外的命令行标志来设置一个标志,

    --log_level=debug

你也应该看看FirePython。 它可以让你获得服务器日志消息在萤火虫。

http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/

查看我的网站上的Google App Engine上运行的在线Python解释器, 了解Python 。 这可能是你在找什么。 只要使用print repr(variables)就可以查看你想要看的东西,并且执行多次。

您好,我正在使用GoogleAppEngineLauncher 1.8.6版本,您可以使用一个标志来设置您要查看的消息日志级别,例如对于debugging消息:

--dev_appserver_log_level debug

使用它而不是--debug (请参阅@Christopher答案)。

GAE将捕获标准错误并将其打印到控制台或日志中。

 print >> sys.stderr, "Something to log." 

使用log.setLevel(Level.ALL)来查看消息

默认的消息过滤级别似乎是“错误”。 在使用setLevel()方法使.info和.warning消息可见之前,我没有看到任何有用的日志消息。

打印到System.out的文本也没有显示出来。 它似乎被解释为log.info()级别的消息。

我希望我能回答这个问题。 日志消息打印到AppEngine日志而不是terminal。

您可以通过单击AppEngine启动器的日志button启动它