Skip to content

Commit c16d10f

Browse files
committed
add user ip and code context in logs
1 parent d14689e commit c16d10f

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

cads_processing_api_service/main.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,18 @@ def add_user_request_flag(
5050

5151
@asynccontextmanager
5252
async def lifespan(application: fastapi.FastAPI) -> AsyncGenerator[Any, None]:
53-
cads_common.logging.structlog_configure([add_user_request_flag])
53+
cads_common.logging.structlog_configure(
54+
[
55+
add_user_request_flag,
56+
structlog.processors.CallsiteParameterAdder(
57+
[
58+
structlog.processors.CallsiteParameter.FILENAME,
59+
structlog.processors.CallsiteParameter.FUNC_NAME,
60+
structlog.processors.CallsiteParameter.LINENO,
61+
],
62+
),
63+
]
64+
)
5465
cads_common.logging.logging_configure()
5566
yield
5667

@@ -94,6 +105,10 @@ async def initialize_logger(
94105
structlog.contextvars.clear_contextvars()
95106
trace_id = str(uuid.uuid4())
96107
structlog.contextvars.bind_contextvars(trace_id=trace_id, request=request.url.path)
108+
user_ip = request.headers.get("X-Real-IP", None)
109+
structlog.contextvars.bind_contextvars(
110+
trace_id=trace_id, request=request.url.path, user_ip=user_ip
111+
)
97112
response = await call_next(request)
98113
return response
99114

0 commit comments

Comments
 (0)