开发模式下返回500详细信息

This commit is contained in:
caoqianming 2023-02-20 09:02:49 +08:00
parent 5ba2cc2c73
commit c350c40941
1 changed files with 3 additions and 2 deletions

View File

@ -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)