基于Django实现日志记录报错信息


Posted in Python onDecember 17, 2019

这篇文章主要介绍了基于Django实现日志记录报错信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

当服务器500错误的时候,普通日志只会记录一行500的request信息,并不会记录详细的报错定位

[ERROR] 2019-06-12 15:07:03,597 "GET /api/v1/test/ HTTP/1.1" 500 74196

需要添加一个在日志中记录详细错误信息的middleware

# -*- coding: UTF-8 -*-
import logging

logger = logging.getLogger('default')


class ExceptionLoggingMiddleware(object):
  def process_exception(self, request, exception):
    import traceback
    logger.error(traceback.format_exc())

将此中间件添加到settings的MIDDLEWARE_CLASSES中

MIDDLEWARE_CLASSES = (
'utils.my_middleware.ExceptionLoggingMiddleware',
)

使用Django logger

'loggers': {
    'django': {
      'handlers': ['file', 'console'],
      'level': 'INFO'
    },

效果

[ERROR] 2019-06-12 15:07:02,265 Internal Server Error: /api/v1/test/
Traceback (most recent call last):
 File "E:\tcp_check\venv\lib\site-packages\django\core\handlers\exception.py", line 35, in inner
  response = get_response(request)
 File "E:\tcp_check\venv\lib\site-packages\django\core\handlers\base.py", line 128, in _get_response
  response = self.process_exception_by_middleware(e, request)
 File "E:\tcp_check\venv\lib\site-packages\django\core\handlers\base.py", line 126, in _get_response
  response = wrapped_callback(request, *callback_args, **callback_kwargs)
 File "E:\tcp_check\tcp_test_app\views.py", line 23, in test
  a=1/0
ZeroDivisionError: division by zero
[ERROR] 2019-06-12 15:07:03,597 "GET /api/v1/test/ HTTP/1.1" 500 74196

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python文件写入实例分析
Apr 08 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
利用Python开发实现简单的记事本
Nov 15 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
DataFrame中的object转换成float的方法
Apr 10 Python
python删除本地夹里重复文件的方法
Nov 19 Python
解决Python下json.loads()中文字符出错的问题
Dec 19 Python
详解python中TCP协议中的粘包问题
Mar 22 Python
Python socket 套接字实现通信详解
Aug 27 Python
python 实现检验33品种数据是否是正态分布
Dec 09 Python
Python RabbitMQ实现简单的进程间通信示例
Jul 02 Python
python实现12306登录并保存cookie的方法示例
Dec 17 #Python
Django多进程滚动日志问题解决方案
Dec 17 #Python
python django中8000端口被占用的解决
Dec 17 #Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 #Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 #Python
解决python web项目意外关闭,但占用端口的问题
Dec 17 #Python
selenium+Chrome滑动验证码破解二(某某网站)
Dec 17 #Python
You might like
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php 策略模式原理与应用深入理解
2019/09/25 PHP
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
AngularJS基础知识笔记之过滤器
2015/05/10 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
Python简单实现Base64编码和解码的方法
2017/04/29 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python写一个随机点名软件的实例
2019/11/28 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
技校毕业生的自我评价
2013/12/27 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
家长意见书
2015/06/04 职场文书
婚宴父亲致辞
2015/07/27 职场文书
Pytorch 如何实现常用正则化
2021/05/27 Python