DRF 的默认行为是为 5XX 抛出异常,但返回有效响应以及 4XX 的错误详细信息。我想记录任何以 4XX 失败的 API 调用的请求和响应。
目前日志只显示Bad Request : /path/api/
答:自定义异常工作正常。
DRF 的默认行为是为 5XX 抛出异常,但返回有效响应以及 4XX 的错误详细信息。我想记录任何以 4XX 失败的 API 调用的请求和响应。
目前日志只显示Bad Request : /path/api/
答:自定义异常工作正常。
您可以定义自己的自定义异常处理程序并访问您的请求,例如:
from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
response = exception_handler(exc)
if response is not None:
response.data['status_code'] = response.status_code
response.data['request'] = context['request']
return response
并显示您的自定义处理程序,settings.py
例如:
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler'
}