如何记录HTTP请求的子地址

时间:2017-10-31 00:04:52

标签: python django http

我正在尝试制作一个简单的Web服务器。例如,当尝试访问网站wordpress/mywebsite/thisiswhatIwanttorecord时,后端会将thisiswhatIwanttorecord部分记录在数据库中,甚至只记录txt文件,并返回标准错误页面,无论郊区是什么。
有谁知道如何在Python Django中做到这一点?谢谢!

似乎它可以像更改配置文件一样容易,例如在Tomcat中。 Log all HTTP requests of Tomcat Server?

1 个答案:

答案 0 :(得分:0)

我经常添加一个中间件来记录我想要的东西(包括请求数据,响应数据)。

以下是示例中间件:

class RequestLogMiddleware(object):

    def process_response(self, request, response):
        self.log_request(request, response)
        return response

    def process_exception(self, request, exception):
        response = type('', (), {})()
        response.status_code = 500
        response.exception = response.content = exception
        self.log_request(request, response)

    def log_request(self, request, response):
        # Log request and response to file or db here
        print(request, response)