Skip to content

Commit 033b0ca

Browse files
authored
Log client host/port (#65)
* log remote host/port * simplify
1 parent ffa1ac8 commit 033b0ca

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

dnstapir/starlette.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,22 @@ async def dispatch(self, request: Request, call_next: Callable[[Request], Awaita
1515
logger = structlog.get_logger()
1616
request_id = str(uuid.uuid4())
1717

18+
remote = (
19+
{
20+
"client_host": str(request.client.host),
21+
"client_port": str(request.client.port),
22+
}
23+
if request.client
24+
else {}
25+
)
26+
1827
with structlog.contextvars.bound_contextvars(request_id=request_id):
1928
logger.bind(
29+
**remote,
2030
method=request.method,
2131
path=request.url.path,
2232
).info(
23-
f"Processing {request.method} request to {request.url.path}",
33+
f"Processing {request.method} request from {request.client.host} to {request.url.path}",
2434
)
2535

2636
request.state.start_time = time.perf_counter()
@@ -29,12 +39,13 @@ async def dispatch(self, request: Request, call_next: Callable[[Request], Awaita
2939
elapsed = time.perf_counter() - request.state.start_time
3040

3141
logger.bind(
32-
path=request.url.path,
42+
**remote,
3343
method=request.method,
44+
path=request.url.path,
3445
status_code=response.status_code,
3546
elapsed=elapsed,
3647
).info(
37-
f"Processed {request.method} request to {request.url.path} in {elapsed:.3f} seconds",
48+
f"Processed {request.method} request from {request.client.host} to {request.url.path} in {elapsed:.3f} seconds",
3849
)
3950

4051
response.headers["X-Request-ID"] = request_id

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "dnstapir"
3-
version = "1.4.0"
3+
version = "1.5.0"
44
description = "DNS TAPIR Python Library"
55
authors = ["Jakob Schlyter <[email protected]>"]
66
readme = "README.md"

0 commit comments

Comments
 (0)