opentelemetry-instrumentation-structlog
OpenTelemetry structlog instrumentation
What it is and what it does
This package bridges structlog, a popular Python structured logging library, with OpenTelemetry's observability framework. It automatically instruments structlog to emit logs that are correlated with OpenTelemetry traces and metrics, allowing you to see logs in the context of the spans and metrics they're associated with. This is useful when you're already using structlog for structured logging and want to add distributed tracing and metrics collection without rewriting your logging code.
The package is in beta status (0.65b0) and depends on three core OpenTelemetry libraries: opentelemetry-api, opentelemetry-instrumentation, and opentelemetry-semantic-conventions. It supports Python 3.10 through 3.14 and is actively maintained by the OpenTelemetry project. Installation is straightforward with no compiled dependencies.
Use it for:
- Add distributed tracing to applications already using structlog for structured logging.
- Correlate application logs with OpenTelemetry spans to debug request flows across services.
- Export structured logs alongside traces and metrics to a unified observability backend.
- Migrate from manual trace instrumentation to automatic log-based correlation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates structlog logging with OpenTelemetry to automatically capture and correlate structured logs with traces and metrics.
Yes, if you use structlog and need OpenTelemetry integration. The package is actively maintained, has low install friction, carries a permissive license, and requires only standard OpenTelemetry dependencies. The beta status (0.65b0) is typical for OpenTelemetry instrumentation packages and should not deter adoption for production use, though you should verify structlog dependency handling for your environment.
Install
opentelemetry-instrumentation-structlog on PyPI
pip
pip install opentelemetry-instrumentation-structloguv
uv add opentelemetry-instrumentation-structlogpoetry
poetry add opentelemetry-instrumentation-structlogInstalling opentelemetry-instrumentation-structlog
Before you install
Low friction install with three core OpenTelemetry dependencies. Actively maintained as of 2026-08-14 with recent release activity.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install opentelemetry-instrumentation-structlog
from opentelemetry.instrumentation.structlog import StructlogInstrumentor
StructlogInstrumentor().instrument()
Requires Python 3.10 or later; structlog must be installed separately as a peer dependency.
Verify before relying
- Whether structlog is automatically installed or must be added as a separate dependency.
- How context propagation works between structlog and OpenTelemetry traces in practice.
- Performance overhead of instrumentation on high-volume logging workloads.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — opentelemetry-api, opentelemetry-instrumentation, opentelemetry-semantic-conventions |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 86,374/month — #13,867 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: opentelemetry_instrumentation_structlog-0.65b0-py3-none-any.whl
Tags
More Monitoring packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
opentelemetry-semantic-conventionsProvides generated Python code for…
permissive · top 100 on PyPI
opentelemetry-sdkProvides the reference implementation of the…
permissive · top 100 on PyPI
opentelemetry-apiProvides the abstract API and interfaces for…
permissive · top 100 on PyPI
opentelemetry-exporter-otlp-proto-httpExports OpenTelemetry observability data to an…
permissive · top 1,000 on PyPI
opentelemetry-instrumentationProvides automatic instrumentation commands and…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-loggingIntegrates Python's standard logging module…
permissive · top 1,000 on PyPI
opentelemetry-contrib-instrumentationsA meta-package that installs all OpenTelemetry…
permissive · top 15,000 on PyPI
pytest-structlogProvides a pytest fixture for capturing and…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-sklearnAdds distributed tracing instrumentation to…
permissive · top 15,000 on PyPI
macwinnie-enhanced-loggingProvides a batteries-included logging setup…
unclear · top 15,000 on PyPI
structlogstructlog is a structured logging library that…
permissive · top 1,000 on PyPI
opentelemetry-instrumentation-exceptionsAutomatically captures uncaught exceptions in…
permissive · top 15,000 on PyPI
ecs-loggingFormats Python logs as Elastic Common Schema…
permissive · top 5,000 on PyPI
opentelemetry-instrumentation-remouladeAdds distributed tracing instrumentation for…
permissive · top 5,000 on PyPI
django-structlogIntegrates structured logging into Django…
permissive · top 5,000 on PyPI