alT*_*Tus 5 django logging exception
我的应用程序中有一个特定的视图,HttpResponse('')
如果一切都成功完成并且像HttpResponseBadRequest()
其他情况一样,它应该返回。
此视图适用于外部数据,因此可能会引发一些意外异常。我当然需要知道发生了什么。所以我有这样的想法:
def my_view(request):
try:
# a lot of code
return HttpResponse('')
except:
import logging
logger = logging.getLogger('django.request')
# logger.error(extra={'request': request}) or logger.exception()
return HttpResponseBadRequest('')
Run Code Online (Sandbox Code Playgroud)
如果重要的话,我有一个默认的日志配置(django 1.5)。
logger.exception
只发送一个小的回溯,不发送请求数据。
logger.error
只发送请求数据。
所以问题是如何获得与 django 发送的完全相同的回溯(具有相同的主题/正文))。我认为必须有一些我找不到的干净简单的解决方案。
因此,使用修补exception
方法,我最终得到了以下代码:
logger.exception('Internal Server Error: %s', request.path,
extra={'status_code': 500, 'request': request})
Run Code Online (Sandbox Code Playgroud)
它产生与内置 django 日志记录相同的电子邮件回溯。
归档时间: |
|
查看次数: |
1258 次 |
最近记录: |