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 22 Python
Python中Django框架下的staticfiles使用简介
May 30 Python
彻底搞懂Python字符编码
Jan 23 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
python的Jenkins接口调用方式
May 12 Python
python3.x中安装web.py步骤方法
Jun 23 Python
Python 实现将某一列设置为str类型
Jul 14 Python
python操作链表的示例代码
Sep 27 Python
python 装饰器重要在哪
Feb 14 Python
如何在Python中妥善使用进度条详解
Apr 05 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
PHP文件与目录操作示例
2016/12/24 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
Javascript倒计时代码
2010/08/12 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
关于JS控制代码暂停的实现方法分享
2012/10/11 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
python解析xml模块封装代码
2014/02/07 Python
深入解答关于Python的11道基本面试题
2017/04/01 Python
将pandas.dataframe的数据写入到文件中的方法
2018/12/07 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
python3获取控制台输入的数据的具体实例
2020/08/16 Python
python statsmodel的使用
2020/12/21 Python
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
专科文秘应届生求职信
2013/11/18 职场文书
机械设计专业应届生求职信
2013/11/21 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
就业协议书范本
2014/10/08 职场文书
2015年司法局工作总结
2015/05/22 职场文书
同学聚会祝酒词
2015/08/10 职场文书
高二英语教学反思
2016/03/03 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Python音乐爬虫完美绕过反爬
2021/08/30 Python
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技