开发模式下返回500详细信息
This commit is contained in:
parent
5ba2cc2c73
commit
c350c40941
|
@ -8,6 +8,7 @@ from rest_framework.response import Response
|
||||||
from rest_framework.views import set_rollback
|
from rest_framework.views import set_rollback
|
||||||
import json
|
import json
|
||||||
from apps.utils.tasks import send_mail_task
|
from apps.utils.tasks import send_mail_task
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
# 实例化myLogger
|
# 实例化myLogger
|
||||||
|
@ -35,7 +36,7 @@ def custom_exception_hander(exc, context):
|
||||||
data = {'err_detail': exc.detail}
|
data = {'err_detail': exc.detail}
|
||||||
if isinstance(exc.detail, dict):
|
if isinstance(exc.detail, dict):
|
||||||
data['err_code'] = exc.default_code
|
data['err_code'] = exc.default_code
|
||||||
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) # 取一部分方便前端alert
|
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False) if 'detail' not in exc.detail else exc.detail['detail'] # 取一部分方便前端alert
|
||||||
elif isinstance(exc.detail, list):
|
elif isinstance(exc.detail, list):
|
||||||
data['err_code'] = exc.default_code
|
data['err_code'] = exc.default_code
|
||||||
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False)
|
data['err_msg'] = json.dumps(exc.detail, ensure_ascii=False)
|
||||||
|
@ -52,4 +53,4 @@ def custom_exception_hander(exc, context):
|
||||||
err_detail = f"{args[0]}-{args[1]}"
|
err_detail = f"{args[0]}-{args[1]}"
|
||||||
myLogger.error(err_detail)
|
myLogger.error(err_detail)
|
||||||
send_mail_task.delay(message=err_detail) # 500邮件通知到开发人员
|
send_mail_task.delay(message=err_detail) # 500邮件通知到开发人员
|
||||||
return Response(data={'err_code': 'server_error', 'err_detail': None, 'err_msg': '服务器错误'}, status=500)
|
return Response(data={'err_code': 'server_error', 'err_detail': err_detail if settings.DEBUG else None, 'err_msg': '服务器错误'}, status=500)
|
||||||
|
|
Loading…
Reference in New Issue