如何在使用 after_request 时获取状态代码(200,500,...)?
我想要的是拥有记录器(例如werkzeug)的输出类型,但是可以添加我想要的内容(用户名,...):
remote_IP,timepoint,path,status_code
答案 0 :(得分:8)
在每个请求之后注册要运行的函数应该采用响应类对象并返回响应类对象(请参阅http://flask.pocoo.org/docs/0.10/api/#flask.Flask.after_request)
因此,您可以从响应类对象中获取该信息,有关可用内容的详细信息,请参阅http://flask.pocoo.org/docs/0.10/api/#flask.Response
以下是一个部分示例:
import logging
#
# your other flask code here
#
@app.after_request
def log_the_status_code(response):
status_as_string = response.status
status_as_integer = response.status_code
logging.warning("status as string %s" % status_as_string)
logging.warning("status as integer %s" % status_as_integer)
return response
作为输出,您应该在成功点击后进入控制台:
WARNING:root:status as string 200 OK
WARNING:root:status as integer 200