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

Ste*_*gle 50 python logging google-app-engine

通常,当我编码时,我只想将小东西(主要是变量的当前值)打印到控制台.我没有看到Google App Engine的这类内容,但我注意到Google App Engine Launcher确实有一个Log终端.有没有办法使用Google App Engine写入所述终端或其他终端?

Chr*_*alo 67

您将要使用Python的标准logging模块.

import logging

logging.info("hello")
logging.debug("hi") # this won't show up by default
Run Code Online (Sandbox Code Playgroud)

logging.debug()在GoogleAppEngineLauncher日志控制台中查看来电,您必须先将标记添加--dev_appserver_log_level=debug到您的应用中.但是,请注意,您将从App Engine SDK本身看到大量调试噪音.该全套水平的有:

  • debug
  • info
  • warning
  • error
  • critical

您可以通过双击应用程序然后将其放入Extra Flags字段来添加标记.

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

  • 这是最有帮助的回应.值得注意的是 (5认同)

var*_*tec 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))
Run Code Online (Sandbox Code Playgroud)

  • 您很可能希望使用logging.info()而不是logging.debug(),因为GoogleAppEngineLauncher Logs控制台中的默认日志记录级别使您不会看到对logging.debug()的任何调用. (14认同)

Dar*_*idl 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.");
    }
}
Run Code Online (Sandbox Code Playgroud)

请参阅http://code.google.com/appengine/docs/java/runtime.html中的 "日志记录"