如何记录招摇/连接请求正文?
How do I log swagger / connexion request body?
我正在使用 connexion 和 Swagger 在 Python 中创建一个 API。我想将所有来电记录到一个文件中,这样我就可以看到正在请求什么。我已经能够记录我收到的电话的路径,但我不知道如何记录正文。
这是我配置日志记录的地方:
if __name__ == '__main__':
import logging
logging.basicConfig(format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s', filename='golden_record.log',level=logging.DEBUG)
当我查看日志时,我看到了路径,如下面的 POST 调用...
2019-03-23 12:47:16,182 - werkzeug - INFO - 127.0.0.1 - - [23/Mar/2019
12:47:16] "POST /golden_record/account HTTP/1.1" 400 -
但我没有看到通话正文(即我发送的数据)。有没有办法为每次打进来的电话自动录音?这样做将有助于调试未按预期运行的调用。谢谢!
只需添加一个烧瓶 before_request。
Connexion 实例将 Flask 实例存储为 app
属性,因此您可以使用 app.app
.
访问
添加代码,您将记录正文:
@app.app.before_request
def log_request_info():
print('Body: %s', request.get_data())
将 print
方法更改为您的记录器:
@app.app.before_request
def log_request_info():
logger.info('Body: %s', request.get_data())
request
导入是:
from flask import request
app
是您的 Connexion 实例:
app = connexion.App(__name__, specification_dir="./swagger/")
我用代码创建了一个 Gist。
https://gist.github.com/kevinmmartins/f832c21215bb51cea73b8fdd28f6d88d
我正在使用 connexion 和 Swagger 在 Python 中创建一个 API。我想将所有来电记录到一个文件中,这样我就可以看到正在请求什么。我已经能够记录我收到的电话的路径,但我不知道如何记录正文。
这是我配置日志记录的地方:
if __name__ == '__main__':
import logging
logging.basicConfig(format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s', filename='golden_record.log',level=logging.DEBUG)
当我查看日志时,我看到了路径,如下面的 POST 调用...
2019-03-23 12:47:16,182 - werkzeug - INFO - 127.0.0.1 - - [23/Mar/2019 12:47:16] "POST /golden_record/account HTTP/1.1" 400 -
但我没有看到通话正文(即我发送的数据)。有没有办法为每次打进来的电话自动录音?这样做将有助于调试未按预期运行的调用。谢谢!
只需添加一个烧瓶 before_request。
Connexion 实例将 Flask 实例存储为 app
属性,因此您可以使用 app.app
.
添加代码,您将记录正文:
@app.app.before_request
def log_request_info():
print('Body: %s', request.get_data())
将 print
方法更改为您的记录器:
@app.app.before_request
def log_request_info():
logger.info('Body: %s', request.get_data())
request
导入是:
from flask import request
app
是您的 Connexion 实例:
app = connexion.App(__name__, specification_dir="./swagger/")
我用代码创建了一个 Gist。 https://gist.github.com/kevinmmartins/f832c21215bb51cea73b8fdd28f6d88d