Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Google App Engine中写入控制台?_Python_Google App Engine_Logging - Fatal编程技术网

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

Python 如何在Google App Engine中写入控制台?,python,google-app-engine,logging,Python,Google App Engine,Logging,通常,当我编写代码时,我只是喜欢将一些小东西(主要是变量的当前值)打印到控制台上。虽然我注意到GoogleAppEngine启动器有一个日志终端,但我没有看到Google AppEngine有这样的功能。是否有任何方法可以使用谷歌应用程序引擎写入上述终端或其他终端 见 及 您可能希望使用以下内容: logging.debug("value of my var is %s", str(var)) 你也应该给Fireython看看。它允许您在firebug中获取服务器日志消息 @Manjoor 在

通常,当我编写代码时,我只是喜欢将一些小东西(主要是变量的当前值)打印到控制台上。虽然我注意到GoogleAppEngine启动器有一个日志终端,但我没有看到Google AppEngine有这样的功能。是否有任何方法可以使用谷歌应用程序引擎写入上述终端或其他终端


您可能希望使用以下内容:

logging.debug("value of my var is %s", str(var))

你也应该给Fireython看看。它允许您在firebug中获取服务器日志消息

@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.");
    }
}

请参见“登录”

在我的网站上查看我在Google App Engine上运行的在线Python解释器。这可能就是你要找的。只需在需要查看的内容上使用print repr(变量),并执行任意次数。

您将需要使用Python的标准
日志记录模块

import logging

logging.info("hello")
logging.debug("hi") # this won't show up by default
要在GoogleAppEngineLauncher日志控制台中查看对
logging.debug()
的调用,必须首先将标志
--dev\u appserver\u log\u level=debug
添加到应用程序中。但是,请注意,您将看到来自AppEngineSDK本身的大量调试噪音。这些措施包括:

  • debug
  • info
  • 警告
  • 错误
  • 关键
您可以通过双击应用程序,然后将其放入额外标志字段来添加标志


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

print >> sys.stderr, "Something to log."
使用log.setLevel(Level.ALL)查看消息

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


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

您好,我使用的是GoogleAppEngineLauncher的1.8.6版,您可以使用一个标志设置要查看的消息日志级别,例如调试消息:

--开发应用服务器日志级调试


使用它而不是
--debug
(请参见@Christopher answer)。

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

  • 在脚本中包括以下内容:

    导入日志
    logging.debug(“我想记录的东西”)

  • 然后,通过进入“编辑>应用程序设置>启动设置>额外命令行标志”并添加

    --log\u level=debug


  • 我希望我是在回答这个问题。日志消息打印到AppEngine日志而不是终端

    你可以启动它 但这不是必需的


    您只需执行普通的old
    print()
    s即可写入Google App Engine日志控制台。

    在java中如何执行同样的操作?您很可能希望使用logging.info()而不是logging.debug(),因为GoogleAppEngineLauncher日志控制台中的默认日志记录级别使您不会看到任何对logging.debug()的调用。Python GAE日志记录的第一个链接已断开。它应该更新到这是最有帮助的回应。值得注意的是根据,您应该使用额外的标志
    --log\u level=debug
    ,而不是
    --debug
    。谢谢,@JesseWebb。已更新。我正在尝试将日志级别设置为“警告”,以隐藏信息噪音,但它不起作用。有什么想法吗?事实证明--dev\u appserver\u log\u level=warning是正确的设置