Эх сурвалжийг харах

RequestRecordMiddleware添加日志

guanhailong 2 жил өмнө
parent
commit
b6e1b7e5d7

+ 0 - 1
Ansjer/cn_config/test_settings.py

@@ -34,7 +34,6 @@ MIDDLEWARE = [
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'django.middleware.security.SecurityMiddleware',
-    'MiddleWare.requestRecord.LogMiddleware',
 ]
 
 AUTHENTICATION_BACKENDS = (

+ 10 - 15
MiddleWare/requestRecord.py

@@ -12,14 +12,13 @@ from django.utils.deprecation import MiddlewareMixin
 
 from Model.models import RequestRecordModel
 
-LOGGER = logging.getLogger('info')
-
 
 class RequestRecordMiddleware(MiddlewareMixin):
     def process_request(self, request):
         request.start_time = time.time()
 
     def process_response(self, request, response):
+        LOGGER = logging.getLogger('info')
         try:
             execute_time = time.time() - request.start_time
             method = request.method
@@ -32,7 +31,14 @@ class RequestRecordMiddleware(MiddlewareMixin):
                 parameter = json.dumps(request.POST.dict())
             else:
                 parameter = ''
-
+            content = eval(str(response.content, 'utf-8'))  # bytes 转为 dict
+            # 请求是否成功
+            if content['result_code'] != 0:
+                if method == 'GET':
+                    parameter = request.GET
+                elif method == 'POST':
+                    parameter = request.POST
+                LOGGER.info('请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.format(url, method, parameter, content, response.status_code))
             if response.status_code == 500:  # 处理没有捕获异常的情况
                 request_record_data = {
                     'method': method,
@@ -45,7 +51,7 @@ class RequestRecordMiddleware(MiddlewareMixin):
                 RequestRecordModel.objects.create(**request_record_data)
             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
@@ -66,16 +72,5 @@ class RequestRecordMiddleware(MiddlewareMixin):
                         'reason_phrase': reason_phrase,
                     }
                     RequestRecordModel.objects.create(**request_record_data)
-            content_dict = eval(str(response.content, 'utf-8'))
-            # 请求是否成功
-            if content_dict['result_code'] != 0:
-                if method == 'GET':
-                    parameter = request.GET
-                elif method == 'POST':
-                    parameter = request.POST
-                LOGGER.info(
-                    '请求路径:{}, 请求方式:{}, 输入数据:{}, 输出数据:{}, 响应状态:{}'.format(request.path, request.method, parameter,
-                                                                         content_dict,
-                                                                         response.status_code))
         finally:
             return response