如何在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字段中。
请参阅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月及以后),这些似乎是正确的使用步骤:
-
在脚本中包含以下内容,
import logging logging.debug("something I want to log")
-
在这个文档页面 ,通过编辑>应用程序设置>启动设置>额外的命令行标志来设置一个标志,
--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启动它