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实现的数据结构与算法之快速排序详解
Apr 22 Python
python中set常用操作汇总
Jun 30 Python
numpy数组拼接简单示例
Dec 15 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
python实现五子棋小程序
Jun 18 Python
kali中python版本的切换方法
Jul 11 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
如何使用python自带IDLE的几种方法
Oct 10 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
Parse正式发布开源PHP SDK
2014/08/11 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
php简单smarty入门程序实例
2015/06/11 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
validator验证控件使用代码
2010/11/23 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
javascript中神奇的 Date对象小结
2017/10/12 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Python随机生成数模块random使用实例
2015/04/13 Python
python保存字符串到文件的方法
2015/07/01 Python
python中星号变量的几种特殊用法
2016/09/07 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
python  logging日志打印过程解析
2019/10/22 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
护士自我介绍信
2014/01/13 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
边城读书笔记
2015/06/29 职场文书
新兵入伍决心书
2015/09/22 职场文书
五年级作文之想象作文
2019/10/30 职场文书