今天看了python loggin最佳实践 http://www.robg3d.com/?p=906
我学习到了以下内容
1.我们应该使用的log三个级别的info debug warning,info应该是记录访问情况或者使用情况,debug应该是开发人员记录的信息,举例就是django在执行过程可以把sql输出出来,这个就是采用的debug级别,warning是用来记录出错的地方(这点我有点疑问,为什么不应该是error更恰当呢?)
2.在__init__方法里设置logger,
self.logger = logging.getLogger(type(self).__name__)
3.你的代码越是类似给别人用的类库,应该越少的输出log.你的类库应该只输出有意义的log
4.大部分情况下,不用catch log re-raise.因为这样可能会导致重复的log,最终使你的log成为垃圾场.这个应该是非常重要的,如果日志乱七八糟的内容记录得多了,看得是很烦的.或者动辄几g或者几十个文件的日志是看都不想看的.人生苦短!
5.日志格式最好少自定义
我就总结了这么多.
另外看到了再dotcloud上搭建sentry的开源项目.应该是把在dotcloud上需要再写的代码都给搞定了.我查了下dotcloud有免费账号可以使用,就是可能不能绑定域名.对于把sentry部署在独立的机器还是很有必要的,sentry文档也是建议如此做.同时感叹下国外的云服务还真是多,还有不少免费的可以用.国内少而且不稳定,还收费高.有空再试这个吧.
http://kencochrane.net/blog/2012/01/running-sentry-on-dotcloud/