parent
b0af585ae7
commit
c70654ebc1
@ -1,10 +1,37 @@
|
|||||||
from flask import Flask
|
from flask import Flask, request
|
||||||
|
from datetime import datetime
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
from .route.route import route_bp
|
||||||
|
|
||||||
|
|
||||||
def create_app():
|
def create_app():
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
from .route.route import route_bp
|
|
||||||
|
|
||||||
app.register_blueprint(route_bp)
|
app.register_blueprint(route_bp)
|
||||||
|
|
||||||
|
log_file_path = '/data/ww/py_sys_monitor/logs/access_log'
|
||||||
|
|
||||||
|
def log_request_response(response):
|
||||||
|
log_entry = {
|
||||||
|
'time': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
|
||||||
|
'endpoint': request.endpoint,
|
||||||
|
'method': request.method,
|
||||||
|
'url': request.url,
|
||||||
|
'remote_addr': request.remote_addr,
|
||||||
|
'request_args': request.args.to_dict(),
|
||||||
|
'request_form': request.form.to_dict(),
|
||||||
|
'request_json': request.get_json(),
|
||||||
|
'response_status': response.status,
|
||||||
|
'response_data': response.get_json()
|
||||||
|
}
|
||||||
|
|
||||||
|
os.makedirs(os.path.dirname(log_file_path), exist_ok=True)
|
||||||
|
with open(log_file_path, 'a') as log_file:
|
||||||
|
log_file.write(json.dumps(log_entry) + "\n")
|
||||||
|
|
||||||
|
return response
|
||||||
|
|
||||||
|
app.after_request(log_request_response)
|
||||||
|
|
||||||
return app
|
return app
|
@ -0,0 +1,27 @@
|
|||||||
|
import os
|
||||||
|
import json
|
||||||
|
from flask import request
|
||||||
|
|
||||||
|
log_file_path = '/data/ww/py_sys_monitor/access_log'
|
||||||
|
|
||||||
|
def get_request_info(page_index=1, page_size=10):
|
||||||
|
if page_index <= 0:
|
||||||
|
page_index = 1
|
||||||
|
|
||||||
|
if page_size <=0 | page_size > 20:
|
||||||
|
page_size = 10
|
||||||
|
|
||||||
|
request_info = []
|
||||||
|
with open(log_file_path, 'r') as f:
|
||||||
|
lines = f.readlines()
|
||||||
|
|
||||||
|
total_records = len(lines)
|
||||||
|
start = (page_index - 1) * page_size
|
||||||
|
end = start + page_size
|
||||||
|
|
||||||
|
if start < total_records:
|
||||||
|
for line in lines[start:end]:
|
||||||
|
record = json.loads(line.strip())
|
||||||
|
request_info.append(record)
|
||||||
|
|
||||||
|
return {"request_info": request_info, "total": total_records}
|
Loading…
Reference in new issue