|
@@ -22,53 +22,50 @@ class RequestRecordMiddleware(MiddlewareMixin):
|
|
|
method = request.method
|
|
|
url = request.path
|
|
|
|
|
|
- # 获取请求参数并转为字符串
|
|
|
- if method == 'GET':
|
|
|
- parameter = json.dumps(request.GET.dict())
|
|
|
- elif method == 'POST':
|
|
|
- parameter = json.dumps(request.POST.dict())
|
|
|
- else:
|
|
|
- parameter = ''
|
|
|
- content = eval(str(response.content, 'utf-8')) # bytes 转为 dict
|
|
|
+ if url != '/cloudstorage/getsignsts':
|
|
|
+ # 获取请求参数并转为字符串
|
|
|
+ if method == 'GET':
|
|
|
+ parameter = json.dumps(request.GET.dict())
|
|
|
+ elif method == 'POST':
|
|
|
+ parameter = json.dumps(request.POST.dict())
|
|
|
+ else:
|
|
|
+ parameter = ''
|
|
|
+ content = eval(str(response.content, 'utf-8')) # bytes 转为 dict
|
|
|
|
|
|
- # 记录响应码不为0的接口日志
|
|
|
- if ('result_code' in content and content['result_code'] != 0) or ('code' in content and content['code'] != 0):
|
|
|
- if url != '/cloudstorage/getsignsts':
|
|
|
+ # 记录响应码不为0的接口日志
|
|
|
+ if ('result_code' in content and content['result_code'] != 0) or \
|
|
|
+ ('code' in content and content['code'] != 0):
|
|
|
LOGGER.info('请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.
|
|
|
format(url, method, parameter, content, response.status_code))
|
|
|
|
|
|
- if response.status_code == 500: # 处理没有捕获异常的情况
|
|
|
- request_record_data = {
|
|
|
- 'method': method,
|
|
|
- 'url': url,
|
|
|
- 'parameter': parameter,
|
|
|
- 'execute_time': execute_time,
|
|
|
- 'status_code': 500,
|
|
|
- 'reason_phrase': response.reason_phrase,
|
|
|
- }
|
|
|
- RequestRecordModel.objects.create(**request_record_data)
|
|
|
- elif response.content: # 处理捕获异常的情况
|
|
|
- # print('content: ', response.content)
|
|
|
- # content = eval(str(response.content, 'utf-8')) # bytes 转为 dict
|
|
|
- # logger = logging.getLogger('info')
|
|
|
- # logger.info('content: {}'.format(content))
|
|
|
- error_flag = False
|
|
|
- reason_phrase = ''
|
|
|
- if 'result_code' in content and (content['result_code'] == 500 or content['result_code'] == 474):
|
|
|
- reason_phrase = content['result']
|
|
|
- error_flag = True
|
|
|
- elif 'code' in content and content['code'] == 500: # ResponseObject.returntype == 'pc'
|
|
|
- reason_phrase = content['data']
|
|
|
- error_flag = True
|
|
|
- if error_flag:
|
|
|
+ if response.status_code == 500: # 处理没有捕获异常的情况
|
|
|
request_record_data = {
|
|
|
'method': method,
|
|
|
'url': url,
|
|
|
'parameter': parameter,
|
|
|
'execute_time': execute_time,
|
|
|
'status_code': 500,
|
|
|
- 'reason_phrase': reason_phrase,
|
|
|
+ 'reason_phrase': response.reason_phrase,
|
|
|
}
|
|
|
RequestRecordModel.objects.create(**request_record_data)
|
|
|
+ elif response.content: # 处理捕获异常的情况
|
|
|
+ error_flag = False
|
|
|
+ reason_phrase = ''
|
|
|
+ if 'result_code' in content and (content['result_code'] == 500 or content['result_code'] == 474):
|
|
|
+ reason_phrase = content['result']
|
|
|
+ error_flag = True
|
|
|
+ elif 'code' in content and content['code'] == 500: # ResponseObject.returntype == 'pc'
|
|
|
+ reason_phrase = content['data']
|
|
|
+ error_flag = True
|
|
|
+ if error_flag:
|
|
|
+ request_record_data = {
|
|
|
+ 'method': method,
|
|
|
+ 'url': url,
|
|
|
+ 'parameter': parameter,
|
|
|
+ 'execute_time': execute_time,
|
|
|
+ 'status_code': 500,
|
|
|
+ 'reason_phrase': reason_phrase,
|
|
|
+ }
|
|
|
+ RequestRecordModel.objects.create(**request_record_data)
|
|
|
finally:
|
|
|
return response
|