如何更改dev_appserver的日志记录级别

时间:2011-10-18 17:47:44

标签: google-app-engine logging appserver

您知道如何更改Google App Engine dev_appserver的日志记录级别吗? 我想将其设置为ERROR删除消息,如:

INFO     2011-10-18 17:43:00,806 dev_appserver_multiprocess.py:637] 
         Running application foo on port 8106: http://localhost:8106
INFO     2011-10-18 17:47:12,927 dev_appserver.py:4247] 
         "GET /images/sprite.png HTTP/1.1" 200 -

5 个答案:

答案 0 :(得分:20)

有两个稍微不同的参数可让您控制日志级别,log_leveldev_appserver_log_level


log_level {debug,info,warning,critical,error}
dev_appserver.py --log_level=debug

在应用程序代码生成的日志消息下面的日志级别将不会显示在控制台上(默认值:info)


dev_appserver_log_level {debug,info,warning,critical,error}
dev_appserver.py --dev_appserver_log_level=debug

开发服务器生成的日志消息 以下的日志级别将不会显示在控制台上(默认值:info)

答案 1 :(得分:3)

查看代码,无法从命令行修改日志级别。您的解决方案很好(至少在下次更新之前,如您所说)。

如果你愿意,可以通过GREP管道,例如:

~/google_appengine/dev_appserver.py . 2>&1 |egrep "^(WARNING|ERROR|CRITICAL)"

不理想但功能齐全。

答案 2 :(得分:3)

接受的答案对我不起作用,但对已接受答案的评论确实给出了解决方法。这是社区维基的答案,有助于避免混淆。

dev_appserver.py --dev_appserver_log_level=debug将日志输出设置为调试级别。

答案 3 :(得分:0)

我已直接修改了dev_appserver_main.py的来源:

ARG_LOG_LEVEL: logging.ERROR

在下次更新时,我将失去此更改,但这不是问题;我真的很想要这个,因为日志控制台倾向于冻结程序中的大量导入(我在OSX上)。

答案 4 :(得分:0)

在Google App Engine启动器中选择编辑 - >应用程序设置,然后将--debug添加到额外命令行标志中。