skillfed

opentelemetry-instrumentation-structlog

OpenTelemetry structlog instrumentation

opentelemetry-instrumentation-structlog v0.65b0 86.4K downloads/30d#13,867 on PyPI1,086
Permissive license Apache-2.0 Active released

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-structlog

uv

uv add opentelemetry-instrumentation-structlog

poetry

poetry add opentelemetry-instrumentation-structlog

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Tags

structlog opentelemetry integrationstructured logging with tracesopentelemetry instrumentationlog correlation with spansobservability structlog
observabilitystructured-loggingdistributed-tracing

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-logging

Integrates Python's standard logging module…

permissive · top 1,000 on PyPI

opentelemetry-contrib-instrumentations

A meta-package that installs all OpenTelemetry…

permissive · top 15,000 on PyPI

pytest-structlog

Provides a pytest fixture for capturing and…

permissive · top 15,000 on PyPI

opentelemetry-instrumentation-sklearn

Adds distributed tracing instrumentation to…

permissive · top 15,000 on PyPI

macwinnie-enhanced-logging

Provides a batteries-included logging setup…

unclear · top 15,000 on PyPI

structlog

structlog is a structured logging library that…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-exceptions

Automatically captures uncaught exceptions in…

permissive · top 15,000 on PyPI

ecs-logging

Formats Python logs as Elastic Common Schema…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-remoulade

Adds distributed tracing instrumentation for…

permissive · top 5,000 on PyPI

django-structlog

Integrates structured logging into Django…

permissive · top 5,000 on PyPI