Python 如何在Django Rest框架中记录400个响应的更多细节?
我已经用Django Rest框架构建了一个端点,有人正在向其发布数据。从今天早上开始,他收到了400条回复。在我的Kibana日志中,我只能确认他确实收到了400条回复。我需要调试这个,但我没有很多信息。所以我想记录更多关于400个回复的细节。因此,我想在我的视图集中执行以下操作Python 如何在Django Rest框架中记录400个响应的更多细节?,python,django,logging,django-rest-framework,http-status-code-400,Python,Django,Logging,Django Rest Framework,Http Status Code 400,我已经用Django Rest框架构建了一个端点,有人正在向其发布数据。从今天早上开始,他收到了400条回复。在我的Kibana日志中,我只能确认他确实收到了400条回复。我需要调试这个,但我没有很多信息。所以我想记录更多关于400个回复的细节。因此,我想在我的视图集中执行以下操作 def create(self, request, *args, **kwargs): try: response = super().create(request, *args, **kwa
def create(self, request, *args, **kwargs):
try:
response = super().create(request, *args, **kwargs)
return response
except exceptions.ValidationError as e:
logger.error(f"{e} in message: {request.data}")
return Response(e, status=status.HTTP_400_BAD_REQUEST)
这似乎是可行的,但这并不是最合乎逻辑的做法。有人知道记录400个响应的更为类似python的方法吗?我会检查
响应。status
值,它将是一个整数,然后我记录响应。data
它将是一个类似于dict
的对象
此外,Logstash非常喜欢类似JSON的项目,这可能更适合您的情况
def create(self, request, *args, **kwargs):
response = super().create(request, *args, **kwargs)
if response.status == 400:
logger.error(response.data)
return response
def创建(self、request、*args、**kwargs):
response=super().create(请求,*args,**kwargs)
如果response.status==400:
记录器。错误(响应。数据)
返回响应
我会问他发送到终点的有效载荷。我很乐意,但他不是最容易相处的人。所以我真的需要在我这边找到答案。