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

 

posted @ 2026-03-20 17:55  刘宏缔的架构森林  阅读(3)  评论(0)    收藏  举报