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 相关文章推荐
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
Dec 04 Python
TensorFlow中权重的随机初始化的方法
Feb 11 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
关于sys.stdout和print的区别详解
Dec 05 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
Jan 18 Python
Python多线程正确用法实例解析
May 30 Python
使用Python构造hive insert语句说明
Jun 06 Python
python中有帮助函数吗
Jun 19 Python
Python如何实现后端自定义认证并实现多条件登陆
Jun 22 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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的分页功能
2007/03/21 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
javascript 自动填写表单的实现方法
2010/04/09 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python解惑之整数比较详解
2017/04/24 Python
教你学会使用Python正则表达式
2017/09/07 Python
pymysql模块的操作实例
2019/12/17 Python
python列表返回重复数据的下标
2020/02/10 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python中time包实例详解
2021/02/02 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
大学生就业自荐信
2013/10/26 职场文书
语文教育专业推荐信范文
2013/11/25 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
购房协议书范本
2014/04/11 职场文书
电子信息工程自荐信
2014/05/26 职场文书
教师节横幅标语
2014/10/08 职场文书
先进集体申报材料
2014/12/25 职场文书
工程部部长岗位职责
2015/02/12 职场文书
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python