|
@@ -31,7 +31,7 @@ class RequestRecordMiddleware(MiddlewareMixin):
|
|
|
else:
|
|
|
parameter = ''
|
|
|
|
|
|
- if response.status_code == 500: # 处理没有捕获异常的情况
|
|
|
+ if response.status_code == 500: # 处理没有捕获异常的情况
|
|
|
request_record_data = {
|
|
|
'method': method,
|
|
|
'url': url,
|
|
@@ -41,9 +41,9 @@ class RequestRecordMiddleware(MiddlewareMixin):
|
|
|
'reason_phrase': response.reason_phrase,
|
|
|
}
|
|
|
RequestRecordModel.objects.create(**request_record_data)
|
|
|
- elif response.content: # 处理捕获异常的情况
|
|
|
+ elif response.content: # 处理捕获异常的情况
|
|
|
# print('content: ', response.content)
|
|
|
- content = eval(str(response.content, 'utf-8')) # bytes 转为 dict
|
|
|
+ content = eval(str(response.content, 'utf-8')) # bytes 转为 dict
|
|
|
# logger = logging.getLogger('info')
|
|
|
# logger.info('content: {}'.format(content))
|
|
|
error_flag = False
|
|
@@ -51,7 +51,7 @@ class RequestRecordMiddleware(MiddlewareMixin):
|
|
|
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'
|
|
|
+ elif 'code' in content and content['code'] == 500: # ResponseObject.returntype == 'pc'
|
|
|
reason_phrase = content['data']
|
|
|
error_flag = True
|
|
|
if error_flag:
|
|
@@ -66,3 +66,31 @@ class RequestRecordMiddleware(MiddlewareMixin):
|
|
|
RequestRecordModel.objects.create(**request_record_data)
|
|
|
finally:
|
|
|
return response
|
|
|
+
|
|
|
+
|
|
|
+class LogMiddleware:
|
|
|
+ def __init__(self, get_response):
|
|
|
+ self.get_response = get_response
|
|
|
+
|
|
|
+ def __call__(self, request):
|
|
|
+ # 响应
|
|
|
+ response = self.get_response(request)
|
|
|
+ json_obj = json.loads(response.content)
|
|
|
+ # 请求是否成功
|
|
|
+ if json_obj['result_code'] != 0:
|
|
|
+ LOGGER = logging.getLogger('error')
|
|
|
+ # 记录请求
|
|
|
+ path = request.path
|
|
|
+ if request.method == 'POST':
|
|
|
+ # GET请求逻辑处理
|
|
|
+ parameter = request.POST
|
|
|
+ LOGGER.error(
|
|
|
+ '请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.format(path, request.method, parameter, json_obj,
|
|
|
+ response.status_code))
|
|
|
+ elif request.method == 'GET':
|
|
|
+ parameter = request.GET
|
|
|
+ LOGGER.error(
|
|
|
+ '请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.format(path, request.method, parameter, json_obj,
|
|
|
+ response.status_code))
|
|
|
+
|
|
|
+ return response
|