5/app/api/core/middleware/activity_tracker.py
2025-03-20 13:05:13 +01:00

16 lines
481 B
Python

import time
from starlette.middleware.base import BaseHTTPMiddleware
from loguru import logger
class ActivityTrackerMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request, call_next):
start_time = time.time()
method = request.method
url = str(request.url)
response = await call_next(request)
process_time = time.time() - start_time
logger.info(f"{method} {url} - {process_time:.6f} seconds")
return response