Django 使用logging打印日志的实例


Posted in Python onApril 28, 2018

Django使用python自带的logging 作为日志打印工具。简单介绍下logging。

logging 是线程安全的,其主要由4部分组成:

Logger

用户使用的直接接口,将日志传递给Handler

Handler

控制日志输出到哪里,console,file…

一个logger可以有多个Handler

Filter

控制哪些日志可以从logger流向Handler

Formatter

控制日志的格式

用户使用logging.getLogger([name])获取logger实例。

如果没有名字,返回logger层级中的根logger(root logger)。以相同名字调用该函数总是返回同一个logger实例。这意味着logger实例不需要在应用的各个部分之间传来传去。

Django通过在settings文件中使用LOGGING来定制日志输出(包括定义logger, handler, formatter等)

例如,settings文件中定义如下:

LOGGING = {
 'version': 1,
 'disable_existing_loggers': False,
 'formatters': {
  'verbose': {
   'format': '[%(asctime)s] [%(levelname)s] %(message)s'
  },
 },
 'handlers': {
  'console':{
   'level':'INFO',
   'class':'logging.StreamHandler',
   'formatter': 'verbose'
  },
  'file': {
   'level': 'INFO',
   'class': 'logging.FileHandler',
   'filename': 'D:/monitor.log',
   'formatter': 'verbose'
  },
  'email': {
   'level': 'ERROR',
   'class': 'django.utils.log.AdminEmailHandler',
   'include_html' : True,
  }
 },
 'loggers': {
  'django': {
   'handlers': ['console', 'file', 'email'],
   'level': 'INFO',
   'propagate': True,
  },
 },
}

代码中打印日志:

logger = logging.getLogger(‘django')
logger.info(“This is an error msg”)

[2017-07-15 17:44:51,316] [ERROR] This is an error msg

这样,日志就被打印到终端和文件。

关于django logging 想了解更多,可参考官网

https://docs.djangoproject.com/en/1.11/topics/logging/

以上这篇Django 使用logging打印日志的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中for循环详解
Jan 17 Python
python3.5 tkinter实现页面跳转
Jan 30 Python
Python获取指定字符前面的所有字符方法
May 02 Python
python 用下标截取字符串的实例
Dec 25 Python
Python实现Event回调机制的方法
Feb 13 Python
详解Python中的测试工具
Jun 09 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
基于keras 模型、结构、权重保存的实现
Jan 24 Python
python deque模块简单使用代码实例
Mar 12 Python
详解python程序中的多任务
Sep 16 Python
python-地图可视化组件folium的操作
Dec 14 Python
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
May 27 Python
python实现log日志的示例代码
Apr 28 #Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 #Python
Python之读取TXT文件的方法小结
Apr 27 #Python
如何利用python查找电脑文件
Apr 27 #Python
Python3 中把txt数据文件读入到矩阵中的方法
Apr 27 #Python
python Spyder界面无法打开的解决方法
Apr 27 #Python
解决Spyder中图片显示太小的问题
Apr 27 #Python
You might like
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php discuz 主题表和回帖表的设计
2009/03/13 PHP
smarty缓存用法分析
2014/12/16 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
Flex通过JS获取客户端IP和计算机名的实例代码
2013/11/21 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
jQuery实现伪分页的方法分享
2016/02/17 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
详解javascript函数写法大全
2019/03/25 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
python计算牛顿迭代多项式实例分析
2015/05/07 Python
TensorFlow实现Logistic回归
2018/09/07 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
公司市场部岗位职责
2013/12/02 职场文书
质检员岗位职责
2013/12/17 职场文书
魅力教师事迹材料
2014/01/10 职场文书
琅琊山导游词
2015/02/05 职场文书
经理岗位职责范本
2015/04/15 职场文书
新郎结婚感言
2015/07/31 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
庭外和解协议书
2016/03/23 职场文书