如何在 Tornado 中记录 HTTP 响应?

How to log HTTP response in Tornado?

我希望能够在 tornado 中记录 HTTP 请求和响应。 这似乎很容易做到 request:

def log_function(handler):
    info = {
        'Method' : handler.request.method,
        'Host' : handler.request.host,
        'URL' : handler.request.uri
     }

响应如何达到同样的效果?可以通过调用

来检索响应 status_code
handler.get_status()

我如何获得回复的正文?

Tornado 不保存响应;它直接将其发送给客户端。如果您想记录响应,则必须自己保存。您可以在您的处理程序代码中执行此操作,也可以覆盖 write()finish() 方法以在编写时拦截它。