Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

logbrew_django-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

logbrew_django-0.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

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

Hashes for logbrew_django-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b2500b53f2b721ea1556ece26e5759430e7656cbb2a9e23e5befb976f6a6567
MD5 d7b2d04648b5be300faa622bb75115e0
BLAKE2b-256 d4348c620d6e0879b5fb19e49c8ab06a978697819803b56a5ad2b8e6a0e4b6fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for logbrew_django-0.1.0.tar.gz:

Publisher: publish-pypi-django.yml on LogBrewCo/sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for logbrew_django-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1817910beaf13a4ae4ca244e8d1c468cb247bd8457f64f2712097c3ba68fa4f5
MD5 257489069d4fdf2539462f2ae37306cc
BLAKE2b-256 3c87b7f1bf8fcf99bc3e4c11bf27390d6717d76cd0941b0d1243906d00f10f78

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page