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