如何更改谷歌应用引擎python生产服务器的日志记录级别?

时间:2015-08-30 05:24:36

标签: python google-app-engine

我试图在线搜索这个问题的答案,但是徒劳无功。我确实看到了#34; How do set the log level in google app engine python dev server"的答案,这对我们来说很有用 - 但如果我理解正确,这并不会自动转换为生产环境,对吧?

使用数百个logging.debug()语句部署我的开发代码总是会让它们出现在生产服务器日志中。是否有一个简单的开关我可以在生产服务器上翻转以设置日志记录级别并避免使用所有调试消息堵塞日志?至少从查看Google App Engine的管理控制台来看,我还没有发现有办法做到这一点。这很难相信,因为人们会认为App Engine开发人员会提供一种超级简单的方法来实现这一目标。

1 个答案:

答案 0 :(得分:0)

正如Paul Collingwood在评论中所说,在开发者控制台中设置过滤器很容易,以减少视觉混乱。

如果在某些情况下您根本不希望记录调试日志(例如在生产中),您可能希望为日志记录调用编写一个小包装函数,以检查应用程序是否在开发中或者生产,并根据它决定是否写点东西来记录。

我想的是:

import logging
class Logger()
    def debug(*args, **kwargs):
        if not running_in_production(): # needs to be implemented elsewhere.
            logging.debug(*args, **kwargs)

    def info(*args, **kwargs):
        """ any rules here? """
        logging.info(*args, **kwargs)

   # other functions here.

然后,在您的个人文件中,您可以将import logging替换为import logger as logging,以替换适合其运行环境的插件替换,以及任何其他可以想象的因素。