INNER CODE UNIT · Python
RequestLoggingMiddleware
SearchSavior/OpenArc · src/server/main.py:24
class RequestLoggingMiddleware(BaseHTTPMiddleware):
async def dispatch(self, request: Request, call_next):
start_time = time.time()
client_ip = request.client.host if request.client else "unknown"
_access_logger.info(
f"Request received: {request.method} {request.url.path} from {client_ip}"
)
try:
response = await call_next(request)
process_time = time.time() - start_time
_access_logger.info(
f"Request completed: {request.method} {request.url.path} "
f"status={response.status_code} duration={process_time:.3f}s"
)
return response
except Exception as e: