flask: 日志:打印请求参数和响应体
代码:
@api.after_request
def log_params(response):
# 计算响应时间并记录响应体(如果需要)
current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
ip = request.remote_addr
method = request.method
log_content = current_time+" "+ip+" "+method+" "+request.url+"\n"
args_str = json.dumps(request.args.to_dict())
form_str = str(request.form.to_dict(flat=False))
log_content += "args:"+args_str+"\n"
log_content += "form:" + form_str + "\n"
response_time = time.time() - g.start_time
time_length = f"{response_time: .4f}"
status = str(response.status_code)
log_content += "time:" + time_length + "\n"
log_content += "status:" + status + "\n"
log_content += "content:" + response.get_data(as_text=True) + "\n"
current_app.logger.info(log_content)
return response
浙公网安备 33010602011771号