位置: 编程技术 - 正文
推荐整理分享Django日志模块logging的配置详解(django实时刷新日志前端),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:django logger,django logger,django logentry,django logentry,django log,django实时读取日志,django logger,django日志系统,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了。但是在线上环境,如果让用户看到这些信息,是很不安全的(暴露代码)。所以在线上我们要关闭Debug,但是又不能扔掉这些调试信息,这就要用到logging模块。
logging模块其实是Python的模块,在Django中有很多本地化的支持。
理解Logger
首先要理解logging的工作,这里面主要有四个东西:格式器formatter,过滤器filter,处理器handler,日志实例logger。
处理流程
处理流程是这样的。首先,在代码中。我们拿到的是logger实例,通过这个实例来记录信息。
然后,名字是django的这个logger就会把信息交给相应的handler,handler把信息用formater和filter处理一下,提交log(保存到文件,数据库,或者发送邮件)。
一般来说,handler可以是send_email,error_file等负责处理的方式,在logger中可以重复使用handler。例如我们的django处理器使用了send_email, error_file 这两个处理器,request处理器使用error_file,info_file两个处理器,logger和handler可以理解成多对多的关系,嘻嘻。
配置方式
Python中可以使用多种格式配置logging,比如.conf, .ini等。
在Django中,我们是把有关logging的配置写到settings里面。相应的配置及解释如下(仅供参考)。
以上的配置文件中,有三个日志处理器。分别是:
‘django.request':django的request发生error会自动记录,然后使用debug将信息记录到文件,还有mail_admins将信息通过邮件发送给管理员。这里邮件的功能非常棒!并不是一个纯文本信息,而是一个html文件,和我们在浏览器看到的错误页面一模一样!要正常使用邮件功能需要像我一样配置一下上面的邮件发件人信息。我是直接去网易申请了一个邮箱。要格外注意三点:1.一定要去邮件服务商开启SMTP服务;2.不同的邮件服务商可能有一些特殊的设置,比如网易,会给你一个客户端授权码,这个才是密码,而不是网页的登录密码。3 注意服务商有没有对发信频率的限制。 ‘django':使用console处理器,将信息输出。在开发的时候就可以使用这个处理器(什么?print? 太low了!) 最后一个处理器见注释。最后,不要忘了给日志的路径响应的权限。比如Apache2服务器,就需要给www-data写权限:
总结
标签: django实时刷新日志前端
本文链接地址:https://www.jiuchutong.com/biancheng/380081.html 转载请保留说明!友情链接: 武汉网站建设