Skip to content

Commit d017432

Browse files
authored
fix: missing tracking information in api logs (#1235)
1 parent 83f6e29 commit d017432

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

api/src/middleware/request_context_middleware.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import logging
21
import time
32
from starlette.types import ASGIApp, Receive, Scope, Send
43

54
from middleware.request_context import RequestContext, _request_context
6-
from utils.logger import HttpRequest, API_ACCESS_LOG
5+
from utils.logger import HttpRequest, API_ACCESS_LOG, get_logger
76

87

98
class RequestContextMiddleware:
@@ -12,7 +11,7 @@ class RequestContextMiddleware:
1211
"""
1312

1413
def __init__(self, app: ASGIApp) -> None:
15-
self.logger = logging.getLogger(API_ACCESS_LOG)
14+
self.logger = get_logger(API_ACCESS_LOG)
1615
self.app = app
1716

1817
@staticmethod
@@ -63,8 +62,17 @@ def log_api_access(
6362
"""
6463
latency = time.time() - start_time
6564
request = self.create_http_request(scope, request_context, status_code, content_length, latency)
65+
headers = {k.decode().lower(): v.decode() for k, v in scope.get("headers", [])}
66+
headers_to_log = {
67+
k: headers.get(k, "")
68+
for k in [
69+
"origin",
70+
"referer",
71+
]
72+
if headers.get(k)
73+
}
6674
self.logger.info(
67-
"API Access Log",
75+
{"user_id": request_context.user_id if request_context.user_id else "", "headers": headers_to_log},
6876
extra={
6977
"context": {
7078
"http_request": request,

0 commit comments

Comments
 (0)