【问题标题】:On the google app engine, how do I change the default logging level of the dev_appserver.py?在谷歌应用引擎上,如何更改 dev_appserver.py 的默认日志记录级别?
【发布时间】:2011-03-17 13:55:21
【问题描述】:

Dev_appserver.py(Python 谷歌应用引擎的本地开发服务器)会喷出大量无用的 INFO 消息。我想将其设置为 WARN 或 ERROR。我该怎么做?

我尝试了以下方法,但没有效果...

logger = logging.getLogger()
logger.setLevel(logging.WARN)

有什么想法吗?

【问题讨论】:

  • 有趣的是,在他们的 GAE 文档中 - code.google.com/appengine/docs/python/images/… - 他们使用了这个结构:logging.getLogger().setLevel(logging.DEBUG)。也许它曾经工作过,但现在坏了?
  • 3 年过去了……好像还是坏掉了……

标签: python google-app-engine logging


【解决方案1】:

目前,在命令行中,您只能通过“-d”命令行选项将日志记录级别降低到 DEBUG。


如果您不害怕编辑脚本,请寻找

DEFAULT_ARGS = {
  ...
  ARG_LOG_LEVEL: logging.INFO,

在 C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver_main.py 中

【讨论】:

  • 不确定 -d 选项是否仍然有效...是吗?我收到此错误消息“dev_appserver.py:错误:无法识别的参数:-d”
  • 使用--log_level 设置特定的日志级别,而不是-d。例如。 dev_appserver.py --log_level debug ..
【解决方案2】:
logging.getLogger().handlers[0].setLevel(logging.DEBUG)

来自Google App Engine/Python - Change logging formatting

这有点小技巧,因为您必须直接访问 处理程序列表存储在根记录器中。问题是GAE 在您的代码运行之前自动使用日志记录 - 这会创建 默认处理程序

【讨论】:

    【解决方案3】:

    检查是否有

          <!-- Configure java.util.logging -->
      <system-properties>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
      </system-properties>
    

    在您的 appengine-web.xml 文件中,然后继续在您的 logging.properties 文件中更改 .level = WARNING

    就是这样!

    【讨论】:

    • 谢谢阿什温。抱歉,我没有意识到 Java 版本也有 dev_appserver。我实际上使用 Python,所以我的问题是关于 python 日志记录。我会澄清:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2013-09-04
    • 2015-08-17
    • 1970-01-01
    • 2014-08-21
    相关资源
    最近更新 更多