PythonDjango:在发生异常时自动记录,包括请求信息

PythonDjango:在发生异常时自动记录,包括请求信息,第1张

概述我创建了一个函数log_error(request,traceback),我在异常中调用它.这会将错误信息写入数据库.现在,在我打开每个视图并将其添加到异常处理程序之前,有没有办法自动将所有异常引发到函数,然后调用它? 我已经看过这个Python error logging,它写了自己编写的sys.excepthook版本.出现异常时会自动调用此函数.我尝试了这个,但是即使我将解决方案复制粘贴到v 我创建了一个函数log_error(request,traceback),我在异常中调用它.这会将错误信息写入数据库.现在,在我打开每个视图并将其添加到异常处理程序之前,有没有办法自动将所有异常引发到函数,然后调用它?

我已经看过这个Python error logging,它写了自己编写的sys.excepthook版本.出现异常时会自动调用此函数.我尝试了这个,但是即使我将解决方案复制粘贴到vIEws.py并引发错误,也没有调用my_excepthook.但是,我并没有太努力,因为它无法获得我需要的所有信息.我还需要请求,以便我可以记录用户,网址等信息.

也许那要求太多了?

(我正在使用Django,但这似乎不是Django特有的东西)编辑:是的,确实如此.

解决方法 J.F塞巴斯蒂安的建议奏效了.这是一个Django解决方案.

在settings.py MIDDLEWARE_CLASSES中:

(我把它添加为最后一个,不确定这是否正确或将导致错误.现在可以工作.)

'myapp.mIDdleware.ExceptionMIDdleware',

在myapp.mIDdleware.py中:

import tracebackclass ExceptionMIDdleware(object):    def process_exception(self,request,exception):        log_error(traceback,request)

而已. log_error是我的函数并写入数据库.从文档https://docs.djangoproject.com/en/dev/howto/error-reporting/中还可以看出,我可以获取局部变量以及请求属性.

总结

以上是内存溢出为你收集整理的Python / Django:在发生异常时自动记录,包括请求信息全部内容,希望文章能够帮你解决Python / Django:在发生异常时自动记录,包括请求信息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1205204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存