python - 使用after_request时如何获取状态码?

标签 python logging flask

如何在使用after_request 时获取状态码(200、500、...)?

我想要的是使用记录器(例如 werkzeug)获得那种输出,但可以添加我想要的内容(用户名,...):

remote_IP, timepoint, path, status_code

最佳答案

注册为在每个请求之后运行的函数应该接受一个响应类对象并返回一个响应类对象(参见 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

关于python - 使用after_request时如何获取状态码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410228/

相关文章:

python - 在PythonAnywhere上使用Gevent或Tornado部署Flask

java - java.util.logging.Logger.demandLogger 处的 NullPointerException

logging - ServiceStack日志清理

python-2.7 - Gunicorn 500'ing 在 POST 到 Flask 应用程序上

python - 如何在 GoogleAppEngine 数据存储区的实体中保存超过 1000 条记录?

python - "WARNING:tornado.access:405"停止来自 "localhost"和 "file://"源的 POST 时出错

python - 在散点图上绘制 matplotlib.animation 中的垂直线

PowerShell 将字符串附加到 .txt 文件并省略空格

github - github 存储库上 flask 应用程序的 .wsgi key 的标准实践

python - 如何使 Flasgger 根据 template_file 自动验证 Flask-restful 资源端点?