16 lines
481 B
Python
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 |