From 30c712976c6192f639d05fdc10d63c94d8c93dce Mon Sep 17 00:00:00 2001 From: robmsmt Date: Thu, 19 Mar 2026 22:51:35 +0100 Subject: [PATCH] update access-log --- backend/Dockerfile | 2 +- backend/main.py | 2 +- backend/middleware/logging.py | 12 +++++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index a448caa..cace536 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -10,4 +10,4 @@ RUN pip install --no-cache-dir -U -r backend/requirements.txt ENV PYTHONPATH=/app EXPOSE 8080 -ENTRYPOINT ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8080", "--workers", "4"] \ No newline at end of file +ENTRYPOINT ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8080", "--workers", "4", "--no-access-log"] \ No newline at end of file diff --git a/backend/main.py b/backend/main.py index 6376a1e..e15295b 100644 --- a/backend/main.py +++ b/backend/main.py @@ -57,4 +57,4 @@ async def lifespan(app: FastAPI): if __name__ == "__main__": import uvicorn - uvicorn.run(app, host="0.0.0.0", port=8080) + uvicorn.run(app, host="0.0.0.0", port=8080, access_log=False) diff --git a/backend/middleware/logging.py b/backend/middleware/logging.py index 78596a3..b68b8f1 100644 --- a/backend/middleware/logging.py +++ b/backend/middleware/logging.py @@ -1,3 +1,4 @@ +import json import logging import time from fastapi import Request @@ -9,6 +10,14 @@ class AccessLogMiddleware(BaseHTTPMiddleware): async def dispatch(self, request: Request, call_next): start = time.time() + model = "-" + if request.method in ("POST", "PUT", "PATCH"): + try: + body = await request.body() + data = json.loads(body) + model = data.get("model", "-") + except Exception: + pass response = await call_next(request) duration_ms = (time.time() - start) * 1000 token = request.headers.get("authorization", "") @@ -17,10 +26,11 @@ async def dispatch(self, request: Request, call_next): else: token = "-" access_logger.info( - "%s %s %s %d %.0fms", + "%s %s %s model=%s %d %.0fms", token, request.method, request.url.path, + model, response.status_code, duration_ms, )