谷歌应用引擎 python 日志级别降噪

Posted

技术标签:

【中文标题】谷歌应用引擎 python 日志级别降噪【英文标题】:google app engine python log level noise reduction 【发布时间】:2011-05-18 06:41:46 【问题描述】:

有谁知道如何减少来自dev_appserver.py 的日志输出的详细程度?

这些日志的噪音水平简直让我发疯。我知道如何在 Java 中使用 log4j 进行这种配置,但在 google app engine python 上我真的迷路了。

【问题讨论】:

【参考方案1】:

解决方案 1。

您可以使用logging.setLevel() 指示日志库仅记录处于或给定级别的语句。如果您将此级别阈值设置为高于包含您不想要的消息的级别,那么您将从 dev_appserver 过滤掉不需要的消息。

要显示您的日志消息,您需要执行以下操作之一:

确保至少以您在上面设置的过滤阈值(可能是WARN)记录您的日志消息。 配置和使用您自己的custom logger。然后,您可以独立于开发服务器使用的根记录器来控制记录器的记录级别。

解决方案 2。

上面的解决方法有点烦人,因为您要么必须避免 DEBUG 和 INFO 级别,要么必须使用创建自己的记录器。

另一个解决方案是从 dev_appserver.py(和相关模块)中注释掉有问题的日志消息。手动操作会很痛苦,但我已经编写了一个工具,它可以替换给定文件夹(及其子文件夹)中所有文件中的日志调用 - 请查看我的帖子 Python logging and performance: how to have your cake and eat it too。

【讨论】:

嘿,谢谢,我认为解决方案 1 对我有用。我真的希望有类似 log4j 的东西,我可以将根记录器设置为“调试”,然后覆盖包含 dev_appserver 的包/文件夹,将其设置为“错误”。 顺便说一句,在我的代码中我应该告诉库 logging.setLevel(logging.ERROR) 或其他什么。是否有 onApplicationStart 的回调或类似的回调将其应用于所有应用程序引擎,以便我可以有选择地覆盖它?谢谢

以上是关于谷歌应用引擎 python 日志级别降噪的主要内容,如果未能解决你的问题,请参考以下文章

GAE灵活和Stackriver日志严重级别与python

python中的日志级别

python中的日志级别

python - logging模块应用

python----日志模块loggin的使用,按日志级别分类写入文件

python: 不同级别的日志输出到不同文件的日志类