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内置数据类型详解
Aug 18 Python
使用Python程序抓取新浪在国内的所有IP的教程
May 04 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
python绘制双柱形图代码实例
Dec 14 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 Python
python对验证码降噪的实现示例代码
Nov 12 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
Django 实现对已存在的model进行更改
Mar 28 Python
Python读写压缩文件的方法
Jul 30 Python
Python3的进程和线程你了解吗
Mar 16 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写出自己的BLOG系统 2
2010/04/12 PHP
php实现加减法验证码代码
2014/02/14 PHP
Yii列表定义与使用分页方法小结(3种方法)
2016/07/15 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
js同源策略详解
2015/05/21 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
js css自定义分页效果
2017/02/24 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
深究AngularJS如何获取input的焦点(自定义指令)
2017/06/12 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
详解处理Vue单页面应用SEO的另一种思路
2018/11/09 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
2020/08/11 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
酒店保洁主管岗位职责
2013/11/28 职场文书
银行职员思想汇报
2013/12/31 职场文书
房地产融资计划书
2014/01/10 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
Python time库的时间时钟处理
2021/05/02 Python
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers