Spaces:
Configuration error
Configuration error
Download backend/app/middleware/request_logging.py from prathammodels/smart-attendance-api: direct link, hf CLI and curl.
- Browser
- Download file 955 Bytes
-
https://huggingface.co/spaces/prathammodels/smart-attendance-api/resolve/main/backend/app/middleware/request_logging.py
- Command line
-
hf download hf://spaces/prathammodels/smart-attendance-api/backend/app/middleware/request_logging.py
-
curl -L -o request_logging.py https://huggingface.co/spaces/prathammodels/smart-attendance-api/resolve/main/backend/app/middleware/request_logging.py
955 Bytes
| import time | |
| from fastapi import Request, Response | |
| from starlette.middleware.base import BaseHTTPMiddleware | |
| from app.core.logging_config import get_logger | |
| logger = get_logger("app.access") | |
| class RequestLoggingMiddleware(BaseHTTPMiddleware): | |
| async def dispatch(self, request: Request, call_next) -> Response: | |
| start_ts = time.perf_counter() | |
| method = request.method | |
| path = request.url.path | |
| try: | |
| response: Response = await call_next(request) | |
| except Exception as exc: | |
| elapsed_ms = int((time.perf_counter() - start_ts) * 1000) | |
| logger.error("%s %s — %dms | error=%s", method, path, elapsed_ms, exc, exc_info=True) | |
| raise | |
| elapsed_ms = int((time.perf_counter() - start_ts) * 1000) | |
| log = logger.warning if response.status_code >= 400 else logger.info | |
| log("%s %s %d %dms", method, path, response.status_code, elapsed_ms) | |
| return response | |