如何在SDK App中全局更改Google App Engine中的Python日志记录格式?

时间:2012-10-25 19:33:10

标签: google-app-engine

如何使用开发或生产服务器中的某些全局设置更改Google App Engine中的日志记录格式。在某些情况下,当前的日志记录格式不太可用,因为不允许定位发出消息的代码。

我想在开发服务器中更改此格式,显示 init .py的源位置:

DEBUG    2012-10-25 21:09:11,717 __init__.py:135] google, test@example.com

要:

DEBUG    2012-10-25 21:09:11,717 parentDirectory/__init__.py:135] google, test@example.com

在制作中我想改变它:

DEBUG    2012-10-25 21:09:11,717 google, test@example.com

要:

DEBUG    2012-10-25 21:09:11,717 parentDirectory/__init__.py:135] google, test@example.com

请建议一些全局配置加载器 - 如果不可能,我可以放在每个脚本中,但我认为浪费时间 - 如果您知道解决此问题的解决方案,请提供帮助。我搜索了许多页面,但找不到解决方案。

1 个答案:

答案 0 :(得分:2)

如果您使用webapp2框架,则可以将“全局”代码添加到appengine_config.pyimport位于import logging。虽然看起来很hacky,但是将logger配置添加到这个文件看起来非常合理,因为它也是一个全局设置。

可以在automatically included by some AppEngine modules中找到重新配置记录器的代码。基本上,你需要logging.getLogger().handlers[0].setFormatter(fr) ,并且攻击由AppEngine本身预先配置的记录器:

{{1}}