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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python 3中的yield from语法详解
Jan 18 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python求质数的3种方法
Sep 28 Python
Django 外键的使用方法详解
Jul 19 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
Python更换pip源方法过程解析
May 19 Python
Python是怎样处理json模块的
Jul 16 Python
python实现单机五子棋
Aug 28 Python
python性能测试工具locust的使用
Dec 28 Python
jupyter notebook指定启动目录的方法
Mar 02 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
在Mac OS上编译安装Nginx+PHP+MariaDB开发环境的教程
2016/02/23 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
2019/07/24 PHP
Javascript 二维数组
2009/11/26 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
原生js实现日期联动
2015/01/12 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
JS原生数据双向绑定实现代码
2017/08/14 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
Python退火算法在高次方程的应用
2018/07/26 Python
Python的历史与优缺点整理
2020/05/26 Python
python中yield的用法详解
2021/01/13 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
信息管理员岗位职责
2013/12/01 职场文书
优秀党支部事迹材料
2014/01/14 职场文书
元旦晚会邀请函
2014/01/27 职场文书
一月红领巾广播稿
2014/02/11 职场文书
征婚广告词
2014/03/17 职场文书
我的中国梦主题教育活动总结
2015/05/07 职场文书
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python