mirror of
https://github.com/taylanbakircioglu/flowfish.git
synced 2026-09-16 15:45:14 +00:00
d7ca50b387
Multi-cluster dependency mapping, real-time network monitoring, impact analysis, and CI/CD integration capabilities. Made-with: Cursor
29 lines
760 B
Python
29 lines
760 B
Python
"""Logging middleware"""
|
|
from fastapi import Request
|
|
from starlette.middleware.base import BaseHTTPMiddleware
|
|
import structlog
|
|
import time
|
|
|
|
logger = structlog.get_logger()
|
|
|
|
class LoggingMiddleware(BaseHTTPMiddleware):
|
|
async def dispatch(self, request: Request, call_next):
|
|
start_time = time.time()
|
|
|
|
# Process request
|
|
response = await call_next(request)
|
|
|
|
# Calculate process time
|
|
process_time = time.time() - start_time
|
|
|
|
# Log request
|
|
logger.info(
|
|
"Request processed",
|
|
method=request.method,
|
|
url=str(request.url),
|
|
status_code=response.status_code,
|
|
process_time=process_time
|
|
)
|
|
|
|
return response
|