No project description provided
Project description
Сustom httpx client that logs all requests and responses with structlog.
Usage
from httpx_structlog import AsyncLoggingClient, LoggingClient
# configure structlog
# structlog.configure(
# processors=[structlog.processors.JSONRenderer(sort_keys=True, indent=4)]
# )
# Sync client
with LoggingClient() as client:
client.get("https://httpbin.org/uuid")
# Async client
async with AsyncLoggingClient() as client:
await client.get("https://httpbin.org/uuid")
Log example
{
"duration": 0.49533109995536506,
"event": "httpx request",
"host": "httpbin.org",
"method": "GET",
"path": "/uuid",
"request_body": "",
"request_headers": {
"accept": "*/*",
"accept-encoding": "gzip, deflate",
"connection": "keep-alive",
"host": "httpbin.org",
"user-agent": "python-httpx/0.27.0"
},
"request_query": "",
"response_body": "{\n \"uuid\": \"36a2c551-8632-4712-8b56-d3e21819c04e\"\n}\n",
"response_headers": {
"access-control-allow-credentials": "true",
"access-control-allow-origin": "*",
"connection": "keep-alive",
"content-length": "53",
"content-type": "application/json",
"date": "Sat, 13 Jul 2024 12:22:17 GMT",
"server": "gunicorn/19.9.0"
},
"response_status": 200
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
httpx_structlog-0.1.0.tar.gz
(2.5 kB
view hashes)
Built Distribution
Close
Hashes for httpx_structlog-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e36c89a98d8935139608a78bea18a100efc394b643b39eba7d78ba7d32f86ec |
|
MD5 | 3ad495c47752bdf8ea1f0ca2f8b8e7fa |
|
BLAKE2b-256 | 08c3dba4ccaf78d74259b62546f6297e05a8391cbffb7ef2a2616bfdff383878 |