from django.conf import settings from django.contrib.auth import login import time import logging class LogRequestsMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): start = time.perf_counter() response = self.get_response(request) end = time.perf_counter() self.log(request, response, start, end) return response def log(self, request, response, start, end): logging.info(f"{request.method} {request.path_info} -> {response.status_code}, took {end - start}s")