chenjunkai 6 年之前
父节点
当前提交
9c1b4de17d
共有 2 个文件被更改,包括 44 次插入33 次删除
  1. 9 2
      Ansjer/local_settings.py
  2. 35 31
      Service/MiscellService.py

+ 9 - 2
Ansjer/local_settings.py

@@ -194,7 +194,8 @@ LOGGING = {
             'formatter': 'error_format',
         },
         'console': {
-            'level': 'ERROR',
+            # 'level': 'ERROR',
+            'level': 'DEBUG',
             'class': 'logging.StreamHandler',
             'formatter': 'error_format'
         },
@@ -204,7 +205,13 @@ LOGGING = {
             'handlers': ['default', 'console'],
             # 'handlers': ['mail_admins','default','console'],
             'level': 'ERROR',
-            'propagate': False
+            # 'level': 'DEBUG',
+            'propagate': True
         },
+        # 'django.db.backends': {
+        #     'handlers': ['console'],
+        #     'propagate': True,
+        #     'level': 'DEBUG',
+        # },
     }
 }

+ 35 - 31
Service/MiscellService.py

@@ -1,6 +1,7 @@
 import datetime
 import time
 import traceback
+import threading
 
 import requests
 import simplejson as json
@@ -15,7 +16,6 @@ from Service.TemplateService import TemplateService
 
 # 杂项类,共用行不高,但有些地方需求
 
-
 class MiscellService():
     # 获取访问用户名称
     @staticmethod
@@ -34,36 +34,9 @@ class MiscellService():
 
     @staticmethod
     def add_access_log(request, status_code):
-        try:
-            request.encoding = 'utf-8'
-            if request.method == 'GET':
-                request_dict = request.GET
-            if request.method == 'POST':
-                request_dict = request.POST
-            api_list = TemplateService.log_api()
-            request_path = request.path.strip().strip('/')
-            if request_path in api_list:
-                user = MiscellService.get_access_name(request_dict=request_dict)
-                clientIP = CommonService.get_ip_address(request)
-                now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
-                password = request_dict.get('userPwd', None)
-                if password is not None:
-                    request_dict = dict(request_dict)
-                    request_dict.pop('userPwd')
-                content = json.dumps(request_dict)
-                add_data = {
-                    'user': user,
-                    'ip': clientIP,
-                    'status': status_code,
-                    'url': request.META['SERVER_PROTOCOL'] + '-' + request.method + '-' + request.path,
-                    'operation': request_path,
-                    'time': now_time,
-                    'content': content
-                }
-                ModelService.addAccessLog(data=add_data)
-        except Exception as e:
-            pass
-
+        # 增加多进程 异步
+        asy = threading.Thread(target=addLog, args=(request,status_code))
+        asy.start()
 
     @staticmethod
     def access_log(request,response,type):
@@ -138,3 +111,34 @@ class MiscellService():
         }
         ModelService.addAccessLog(data=add_data)
 
+
+def addLog(request,status_code):
+    try:
+        request.encoding = 'utf-8'
+        if request.method == 'GET':
+            request_dict = request.GET
+        if request.method == 'POST':
+            request_dict = request.POST
+        api_list = TemplateService.log_api()
+        request_path = request.path.strip().strip('/')
+        if request_path in api_list:
+            user = MiscellService.get_access_name(request_dict=request_dict)
+            clientIP = CommonService.get_ip_address(request)
+            now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
+            password = request_dict.get('userPwd', None)
+            if password is not None:
+                request_dict = dict(request_dict)
+                request_dict.pop('userPwd')
+            content = json.dumps(request_dict)
+            add_data = {
+                'user': user,
+                'ip': clientIP,
+                'status': status_code,
+                'url': request.META['SERVER_PROTOCOL'] + '-' + request.method + '-' + request.path,
+                'operation': request_path,
+                'time': now_time,
+                'content': content
+            }
+            ModelService.addAccessLog(data=add_data)
+    except Exception as e:
+        pass