我希望能够记录到达Django REST框架API的所有REST请求。我也想记录API调用的响应。
我在哪里可以定义记录所有REST API请求和响应的函数?

最佳答案

您可以write a Django middleware component拦截进出应用程序的流量。

将有两种方法,process_responseprocess_request。分别使用每个日志记录响应和请求。

class LoggingMiddleware:

    def process_request(self, request):
        # do your logging here

    def process_response(self, request, response):
        # do your logging here

但这将记录所有请求和响应,而不仅记录到特定的API。如果您只想记录API记录,则可以轻松地在此方法中检查URL以获取诸如/api之类的前缀,并基于此记录信息。

关于django - 在所有REST API请求到达 View 集之前记录它们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37523965/

10-12 00:26
查看更多