通常当我编码时,我只想将小东西(主要是变量的当前值)打印到控制台。我没有看到Google App Engine的这类内容,但我注意到Google App Engine Launcher确实有一个Log终端。有没有办法使用Google App Engine写入所述终端或其他终端?
答案 0 :(得分:67)
您需要使用Python的标准logging
模块。
import logging
logging.info("hello")
logging.debug("hi") # this won't show up by default
要在GoogleAppEngineLauncher日志控制台中查看对logging.debug()
的来电,您必须先将标记--dev_appserver_log_level=debug
添加到您的应用中。但是,请注意,您将从App Engine SDK本身看到大量调试噪音。 full set of levels是:
debug
info
warning
error
critical
您可以通过双击应用然后将其放入 Extra Flags 字段来添加标记。
答案 1 :(得分:31)
见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))
答案 2 :(得分:9)
@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.");
}
}
中的“记录”
答案 3 :(得分:4)
如果您使用的是更新版本的Python Development Server(版本> 1.7.6,或2013年3月及更高版本),这些似乎是正确的使用步骤:
在脚本中包含以下内容,
import logging
logging.debug("something I want to log")
根据this docs page,通过转到编辑>设置标记。应用程序设置>启动设置>额外的命令行标志,并添加,
--log_level=debug
答案 4 :(得分:2)
你也应该给FirePython看一看。它允许您在firebug中获取服务器日志消息。
http://appengine-cookbook.appspot.com/recipe/firepython-logger-console-inside-firebug/
答案 5 :(得分:1)
在我的网站Learn Python上查看我在Google App Engine上运行的在线Python解释器。它可能正是你要找的东西。只需对要查看的内容使用print repr(变量),并根据需要执行多次。
答案 6 :(得分:1)
您好我使用的是GoogleAppEngineLauncher的1.8.6版,您可以使用一个标志来设置您想要查看的消息日志级别,例如调试消息:
--dev_appserver_log_level debug
使用它而不是--debug
(参见@Christopher回答)。
答案 7 :(得分:0)
GAE将捕获标准错误并将其打印到控制台或日志中。
print >> sys.stderr, "Something to log."
答案 8 :(得分:0)
使用log.setLevel(Level.ALL)查看消息
默认邮件过滤级别似乎是“错误”。在我使用setLevel()方法使.info和.warning消息可见之前,我没有看到任何有用的日志消息。
打印到System.out的文本也没有显示。它似乎被解释为log.info()级别的消息。
答案 9 :(得分:0)
我希望我回答这个问题。日志消息打印到AppEngine日志而不是终端。
你可以启动它 by clicking on the logs button of the AppEngine Launcher
答案 10 :(得分:0)
Using the logging
module is good practice,,但这不是必需的。
您只需执行简单的print()
即可写入Google App Engine日志控制台。