我正在使用flask服务器,我想记录每个请求数据和标题(因此我可以在之后使用它来测试我的服务器)。 我带了
的werkzeug记录器 self._app.log = logging.getLogger('werkzeug')
self._app.log.addHandler(RotatingFileHandler('log.txt', mode='w'))
self._app.log.setLevel(logging.DEBUG)
但我不明白如何更改日志格式以包含request.data和request.headers,我只有默认日志
127.0.0.1 - - [17/Feb/2015 17:09:43] "POST /helloworld HTTP/1.1" 200 -
答案 0 :(得分:28)
您可以使用Flask.before_request
挂钩记录每个请求的其他信息:
@app.before_request
def log_request_info():
app.logger.debug('Headers: %s', request.headers)
app.logger.debug('Body: %s', request.get_data())
答案 1 :(得分:1)
如何创建一个小助手方法,您可以在烧瓶应用程序的每个控制器中调用该方法。
辅助方法将是这样的:
def log_my_request_data(request_data):
#this method will log this data
然后在所有控制器中,获取这样的request.data
from flask import request
request_data = request.data
并致电log_my_request_data(request_data)