فهرست منبع

修改中间记录日志逻辑

locky 2 سال پیش
والد
کامیت
3efaa9233e
1فایلهای تغییر یافته به همراه33 افزوده شده و 36 حذف شده
  1. 33 36
      MiddleWare/requestRecord.py

+ 33 - 36
MiddleWare/requestRecord.py

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