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():
|
||||
app = Flask(__name__)
|
||||
|
||||
from .route.route import 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
|
@ -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