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的正则表达式re模块的常用方法
Mar 09 Python
python实现堆栈与队列的方法
Jan 15 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
python 获取list特定元素下标的实例讲解
Apr 09 Python
Python检测网络延迟的代码
May 15 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
Jul 31 Python
Python 异常处理Ⅳ过程图解
Oct 18 Python
Python异常原理及异常捕捉实现过程解析
Mar 25 Python
python怎么判断素数
Jul 01 Python
Python 必须了解的5种高级特征
Sep 10 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 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
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
2017/05/12 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
node后端服务保活的实现
2019/11/10 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python插入数据到列表的方法
2015/04/30 Python
python异常和文件处理机制详解
2016/07/19 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
2020/10/29 Python
python xlsxwriter模块的使用
2020/12/24 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
介绍一下Linux中的链接
2016/05/28 面试题
入党自荐书范文
2014/03/09 职场文书
中国梦团日活动总结
2014/07/07 职场文书
汽车技术服务与贸易专业求职信
2014/07/20 职场文书
《秋思》教学反思
2016/02/23 职场文书
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL