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求两个list的差集、交集与并集的方法
Nov 01 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
Python标准库之Sys模块使用详解
May 23 Python
Centos7 Python3下安装scrapy的详细步骤
Mar 15 Python
python如何将图片转换为字符图片
Aug 19 Python
python实现决策树分类
Aug 30 Python
浅谈django三种缓存模式的使用及注意点
Sep 30 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
详解Django配置JWT认证方式
May 09 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 sprintf() 函数的应用(定义和用法)
2012/06/29 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
JS计算斐波拉切代码实例
2019/09/12 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
销售自荐信
2013/10/22 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
财务内勤岗位职责
2014/04/17 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Python TypeError: ‘float‘ object is not subscriptable错误解决
2022/12/24 Python