link
fastapi/custom-middleware

Custom Middleware

Create request/response middleware

middleware
logging

Command

Examples

Request logging middleware

@app.middleware("http")
  async def log_requests(request: Request, call_next):
      start_time = time.time()
      response = await call_next(request)
      process_time = time.time() - start_time
      logger.info(f"{request.method} {request.url} {response.status_code} {process_time:.2f}s")
      return response