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编写百度贴吧的简单爬虫
Apr 02 Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
Python 反转字符串(reverse)的方法小结
Feb 20 Python
利用python实现微信头像加红色数字功能
Mar 26 Python
python中返回矩阵的行列方法
Apr 04 Python
解决python文件双击运行秒退的问题
Jun 24 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
利用Python实现自动扫雷小脚本
Dec 17 Python
python安装mysql的依赖包mysql-python操作
Jan 01 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 Python
Python 使用dict实现switch的操作
Apr 07 Python
Python数据分析入门之数据读取与存储
May 13 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判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
php获取从百度搜索进入网站的关键词的详细代码
2014/01/08 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
Prototype源码浅析 Number部分
2012/01/16 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
原生js生成图片验证码
2020/10/11 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
python多重继承实例
2014/10/11 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
大学生专科学习生活的自我评价
2013/12/07 职场文书
应用外语系自荐信
2014/06/26 职场文书
2015年考研复习计划
2015/01/19 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js
用JS实现飞机大战小游戏
2021/06/09 Javascript
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫