Python的logging模块在Django中的应用

背景

项目需要把与知乎api对接时候返回不成功的信息记录下来,以及系统中所有try……catch……的地方都记录下来。

技术要点

django的日志模块基本就是把python的logging模块封装了下,有三个基本的logger (django, django.request, py.warning).显然用起来不方便,需要自己构建custom logging config.
参考了webforefront的这篇文章,我用每个app的名字建立一个logger,然后系统管理只让我打印到标准输出和标准错误输出,所以基本的handler就使用logging.StreamHandler就可以了 (之前尝试了打印到文件的log,但是放在项目目录中,这样不好。文章以及组长都建议放在/var/^/^.log的模式,需要在bash中给权限)。其他的formatter参考文档,没啥需要注意的。

遇到的问题及解决方案

没有遇到特别棘手的,主要就以下:

1.把配置文件放在哪里?如何在启动时默认运行?

要在setting里面设置,或者放在其他文件里面,import到setting里面。具体方法是:

CUSTOM_LOGGING = {
    'version' = 1,
    'disable_existing_loggers': True,
    'formatters':……
    'handlers':……
    'loggers'…… 
}

但是任然没有用,必须加上:

logging.config.dictConfig(CUSTOM_LOGGING)
2.logger中定义的django不能使用handler

没有完全禁用之前的配置,需要加上:
LOGGING_CONFIG = None把它放在CUSTOM_LOGGING之前

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值