import { requestIdContext } from '@/context' import { type LoaderFunctionArgs } from 'react-router' export const loggingMiddleware = async ( { request, context }: LoaderFunctionArgs, next ) => { const requestId = crypto.randomUUID() context.set(requestIdContext, requestId) console.log(`[${requestId}] ${request.method} ${request.url}`) const start = performance.now() const response = await next() const duration = performance.now() - start console.log(`[${requestId}] Response ${response.status} (${duration}ms)`) return response }