Python Django框架实现应用添加logging日志操作示例


Posted in Python onMay 17, 2019

本文实例讲述了Python Django框架实现应用添加logging日志。分享给大家供大家参考,具体如下:

Django uses Python's builtin logging module to perform system logging.

Django使用python的内建日志模块来记录系统日志,但是要想在django应用中开启此功能使我们的部分操作能够被记录到日志文件,那么就需要进行一定的配置并且根据具体的log类型来进行调用

step 1:配置setting.py

以下配置除了filename和formatters需要根据实际情况来修改外都可以保持不变

LOGGING = {
  'version': 1,
  'disable_existing_loggers': False,#此选项开启表示禁用部分日志,不建议设置为True
  'formatters': {
    'verbose': {
      'format': '%(levelname)s %(asctime)s %(message)s'#日志格式
    },
    'simple': {
      'format': '%(levelname)s %(message)s'
    },
  },
  'filters': {
    'require_debug_true': {
      '()': 'django.utils.log.RequireDebugTrue',#过滤器,只有当setting的DEBUG = True时生效
    },
  },
  'handlers': {
    'console': {
      'level': 'DEBUG',
      'filters': ['require_debug_true'],
      'class': 'logging.StreamHandler',
      'formatter': 'verbose'
    },
    'file': {#重点配置部分
      'level': 'DEBUG',
      'class': 'logging.FileHandler',
      'filename': '/home/lockey23/myapp/myapp/debug.log',#日志保存文件
      'formatter': 'verbose'#日志格式,与上边的设置对应选择
        }
  },
  'loggers': {
    'django': {#日志记录器
      'handlers': ['file'],
      'level': 'DEBUG',
      'propagate': True,
    }
  },
}

step 2: 实际调用

比如说我们想在某些view中调用logger来记录操作,如下:

import logging
logger = logging.getLogger('django')#这里的日志记录器要和setting中的loggers选项对应,不能随意给参
#接下来就是调用了:
logger.debug('[Debug] '+ msg)
logger.info('[Success] '+ msg)
logger.warning('[Warning] '+ msg)
logger.error('[Error] '+ msg)
logger.critical('[Critical] '+ msg)
......
if auth_pass:
  logger.info('[Success] '+ user +' has logged in!')
  return JsonResponse({'result': 'Success', 'message': 'Login successfully.'})
else:
  logger.warning('[Failed] '+ user + ' failed to login!')

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
python使用pymysql实现操作mysql
Sep 13 Python
python 中random模块的常用方法总结
Jul 08 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
Python实现学生成绩管理系统
Apr 05 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 Python
使用pandas 将DataFrame转化成dict
Dec 10 Python
Python线程threading模块用法详解
Feb 26 Python
python 实现关联规则算法Apriori的示例
Sep 30 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 Python
Python实现通过解析域名获取ip地址的方法分析
May 17 #Python
如何用C代码给Python写扩展库(Cython)
May 17 #Python
python实现坦克大战游戏 附详细注释
Mar 27 #Python
六行python代码的爱心曲线详解
May 17 #Python
python使用pygame模块实现坦克大战游戏
Mar 25 #Python
Django如何开发简单的查询接口详解
May 17 #Python
详解python函数的闭包问题(内部函数与外部函数详述)
May 17 #Python
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
weui框架实现上传、预览和删除图片功能代码
2017/08/24 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
Python读写及备份oracle数据库操作示例
2018/05/17 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
python面试题之列表声明实例分析
2019/07/08 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
美国最大网上鞋店:Zappos
2016/07/25 全球购物
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
银行竞聘上岗演讲稿
2014/09/12 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
Javascript的promise,async和await的区别详解
2022/03/24 Javascript