我正在开发一个基于 Flask 应用程序的 Web 应用程序 ( https://github.com/opensourcehacker/sevabot ),它具有基于 HTTP 的 API 服务。
许多开发人员正在使用和扩展 API,我想添加一个功能,将 Flask 的 HTTP 请求打印到 Python 日志输出,这样您就可以看到原始 HTTP 有效负载、源 IP 和您获得的标头。
Flask 提供了哪些钩子,这种 HTTP 请求转储最容易实现
是否有任何现有的解决方案和最佳实践可供学习?
我正在开发一个基于 Flask 应用程序的 Web 应用程序 ( https://github.com/opensourcehacker/sevabot ),它具有基于 HTTP 的 API 服务。
许多开发人员正在使用和扩展 API,我想添加一个功能,将 Flask 的 HTTP 请求打印到 Python 日志输出,这样您就可以看到原始 HTTP 有效负载、源 IP 和您获得的标头。
Flask 提供了哪些钩子,这种 HTTP 请求转储最容易实现
是否有任何现有的解决方案和最佳实践可供学习?
Flask在 at 提供了一个标准记录器,这个 gistcurrent_app.logger中有一个示例配置,但如果你想记录每个请求,你可以将记录调用集中在 before_request 处理程序中:
from flask import request, current_app
@app.before_request
def log_request():
if current_app.config.get('LOG_REQUESTS'):
current_app.logger.debug('whatever')
# Or if you dont want to use a logger, implement
# whatever system you prefer here
# print request.headers
# open(current_app.config['REQUEST_LOG_FILE'], 'w').write('...')