Django integration for capturing LogBrew request spans and exceptions.
Project description
logbrew-django
Django integration for capturing LogBrew request spans and exceptions with the public Python SDK.
Install
python3 -m pip install logbrew-sdk logbrew-django
python3 -m logbrew_django.examples --help
python3 -m logbrew_django.examples --list
python3 -m logbrew_django.examples readme-example
python3 -m logbrew_django.examples real-user-smoke
python3 -m logbrew_django.examples
The package is typed, ships py.typed, depends on the core logbrew-sdk, and keeps Django as a normal framework dependency instead of owning the user's project layout.
Example
# settings.py
MIDDLEWARE = [
"logbrew_django.LogBrewDjangoMiddleware",
*MIDDLEWARE,
]
# app startup code
from logbrew_django import configure_logbrew
from logbrew_sdk import LogBrewClient, RecordingTransport
client = LogBrewClient.create(
api_key="LOGBREW_API_KEY",
sdk_name="logbrew-django",
sdk_version="0.1.0",
)
transport = RecordingTransport.always_accept()
configure_logbrew(
client=client,
transport=transport,
span_id_factory=lambda: "b7ad6b7169203331",
)
LogBrewDjangoMiddleware records successful requests as span events, records unhandled view exceptions as issue plus error-span events, and flushes through the configured transport after each response. If no transport is provided, events stay queued on the core client so the project can flush them itself.
When an incoming request has a valid W3C traceparent header, request capture continues that trace by using the incoming traceId and parent span id while creating a fresh child span id. Missing or malformed traceparent headers keep the existing synthetic request span behavior so bad client headers do not break the project. Automatic metadata uses the request path without query text. Use span_id_factory only when tests need deterministic child span ids.
By default, transport failures do not break the Django response path. Set raise_flush_errors=True in test environments when you want misconfigured transport behavior to fail loudly.
Use a clearly fake placeholder like LOGBREW_API_KEY in local examples and tests.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file logbrew_django-0.1.0.tar.gz.
File metadata
- Download URL: logbrew_django-0.1.0.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b2500b53f2b721ea1556ece26e5759430e7656cbb2a9e23e5befb976f6a6567
|
|
| MD5 |
d7b2d04648b5be300faa622bb75115e0
|
|
| BLAKE2b-256 |
d4348c620d6e0879b5fb19e49c8ab06a978697819803b56a5ad2b8e6a0e4b6fb
|
Provenance
The following attestation bundles were made for logbrew_django-0.1.0.tar.gz:
Publisher:
publish-pypi-django.yml on LogBrewCo/sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
logbrew_django-0.1.0.tar.gz -
Subject digest:
0b2500b53f2b721ea1556ece26e5759430e7656cbb2a9e23e5befb976f6a6567 - Sigstore transparency entry: 1740665480
- Sigstore integration time:
-
Permalink:
LogBrewCo/sdk@ca112d044d95d9659469bfc958ed994324bf9a99 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LogBrewCo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi-django.yml@ca112d044d95d9659469bfc958ed994324bf9a99 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file logbrew_django-0.1.0-py3-none-any.whl.
File metadata
- Download URL: logbrew_django-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1817910beaf13a4ae4ca244e8d1c468cb247bd8457f64f2712097c3ba68fa4f5
|
|
| MD5 |
257489069d4fdf2539462f2ae37306cc
|
|
| BLAKE2b-256 |
3c87b7f1bf8fcf99bc3e4c11bf27390d6717d76cd0941b0d1243906d00f10f78
|
Provenance
The following attestation bundles were made for logbrew_django-0.1.0-py3-none-any.whl:
Publisher:
publish-pypi-django.yml on LogBrewCo/sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
logbrew_django-0.1.0-py3-none-any.whl -
Subject digest:
1817910beaf13a4ae4ca244e8d1c468cb247bd8457f64f2712097c3ba68fa4f5 - Sigstore transparency entry: 1740665486
- Sigstore integration time:
-
Permalink:
LogBrewCo/sdk@ca112d044d95d9659469bfc958ed994324bf9a99 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LogBrewCo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi-django.yml@ca112d044d95d9659469bfc958ed994324bf9a99 -
Trigger Event:
workflow_dispatch
-
Statement type: