Repository navigation
Conversation
Pull request dashboard statusWaiting on the author · refreshed 2026-10-26 20:56 UTC Resolve merge conflicts. Two things need attention:
Status above doesn't look right?
|
0f71f87 to
6be91d7
Compare
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
Public API stabilization and compatibility changes span the SDK, configuration, exporters, and documentation.
Review effort: Balanced
Findings: None
What changed in this PR
Stabilizes the SDK logs API under opentelemetry.sdk.logs, preserving deprecated import compatibility while removing obsolete experimental APIs.
Changes:
- Adds the public logs package and deprecated
_logsaliases. - Removes deprecated log aliases, SDK
LoggingHandler, and its configuration option. - Updates exporters, tests, documentation, examples, and entry points.
| File | Description |
|---|---|
tests/opentelemetry-test-utils/tests/test_otlp_test_server.py |
Uses public logs imports. |
tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_logs_functional.py |
Uses public logs imports. |
opentelemetry-sdk/tests/test_configurator.py |
Updates configuration tests for removed handler setup. |
opentelemetry-sdk/tests/shared_internal/test_batch_processor.py |
Uses public logs imports. |
opentelemetry-sdk/tests/logs/test_sdk_metrics.py |
Uses public logs imports. |
opentelemetry-sdk/tests/logs/test_multi_log_processor.py |
Replaces handler-based test emission. |
opentelemetry-sdk/tests/logs/test_logs.py |
Uses public logs imports. |
opentelemetry-sdk/tests/logs/test_logger_provider_cache.py |
Tests caching through SDK loggers. |
opentelemetry-sdk/tests/logs/test_log_record.py |
Uses public logs imports. |
opentelemetry-sdk/tests/logs/test_log_limits.py |
Uses public logs imports. |
opentelemetry-sdk/tests/logs/test_handler.py |
Removes deprecated handler tests. |
opentelemetry-sdk/tests/logs/test_export.py |
Removes handler-dependent exporter tests. |
opentelemetry-sdk/tests/logs/test_deprecated_logs_module.py |
Tests deprecated module compatibility. |
opentelemetry-sdk/tests/logs/scripts/logger_provider_resource_after_fork.py |
Uses public logs imports. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/export/__init__.py |
Exposes stable exporter API. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/_internal/export/in_memory_log_exporter.py |
Removes deprecated exporter alias. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/_internal/export/__init__.py |
Moves exporter internals and removes aliases. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/_internal/_logger_metrics.py |
Moves logger metrics internals. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/_internal/_exceptions.py |
Moves exception helpers. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/_internal/__init__.py |
Moves SDK implementation and removes handler APIs. |
opentelemetry-sdk/src/opentelemetry/sdk/logs/__init__.py |
Defines the stable public SDK package. |
opentelemetry-sdk/src/opentelemetry/sdk/environment_variables/__init__.py |
Removes deprecated environment variable. |
opentelemetry-sdk/src/opentelemetry/sdk/_logs/__init__.py |
Implements deprecated import aliases. |
opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py |
Removes automatic logging-handler setup. |
opentelemetry-sdk/pyproject.toml |
Updates logs entry points. |
opentelemetry-sdk/benchmarks/logs/test_benchmark_logs.py |
Uses public logs imports. |
opentelemetry-sdk/benchmarks/logs/test_benchmark_logging_handler.py |
Removes deprecated handler benchmark. |
opentelemetry-configuration/tests/test_logger_provider.py |
Uses public logs imports. |
opentelemetry-configuration/src/opentelemetry/configuration/_logger_provider.py |
Uses public logs imports. |
opentelemetry-api/src/opentelemetry/logs/_internal/__init__.py |
Updates SDK reference documentation. |
exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py |
Uses stable SDK interfaces. |
exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py |
Uses stable SDK interfaces. |
exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py |
Uses stable SDK interfaces. |
exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-proto-common/tests/test_bytes_resource.py |
Replaces deprecated exporter alias. |
exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py |
Uses stable SDK records. |
exporter/opentelemetry-exporter-otlp-json-http/tests/test_log_exporter.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-json-http/src/opentelemetry/exporter/otlp/json/http/_log_exporter.py |
Uses stable SDK interfaces. |
exporter/opentelemetry-exporter-otlp-json-file/tests/test_log_exporter.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-json-file/src/opentelemetry/exporter/otlp/json/file/_log_exporter.py |
Uses stable SDK interfaces. |
exporter/opentelemetry-exporter-otlp-json-common/tests/test_log_encoder.py |
Uses public logs imports. |
exporter/opentelemetry-exporter-otlp-json-common/tests/__init__.py |
Uses stable SDK records. |
exporter/opentelemetry-exporter-otlp-json-common/src/opentelemetry/exporter/otlp/json/common/_internal/_log_encoder/__init__.py |
Uses stable SDK records. |
docs/sdk/logs.rst |
Documents the public logs package. |
docs/sdk/logs.export.rst |
Documents public exporter APIs. |
docs/sdk/index.rst |
Links the stable logs documentation. |
docs/sdk/configuration.rst |
Removes obsolete environment-variable guidance. |
docs/sdk/_logs.export.rst |
Removes private exporter documentation. |
docs/examples/multi-destination-exporting/README.rst |
Uses the stable exporter name. |
docs/examples/multi-destination-exporting/multi_destination_logs.py |
Uses public logs imports. |
docs/examples/metrics/sdk-metrics/sdk_metrics.py |
Uses public logs imports. |
docs/examples/logs/README.rst |
Removes experimental-status warning. |
docs/examples/logs/example.py |
Uses public logs imports. |
docs/conf.py |
Updates Sphinx class references. |
.changelog/5732.removed.1 |
Records deprecated alias removals. |
.changelog/5732.removed |
Records handler and variable removals. |
.changelog/5732.deprecated |
Records _logs deprecation. |
.changelog/5732.changed |
Records logs SDK stabilization. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
6be91d7 to
3195810
Compare
This comment has been minimized.
This comment has been minimized.
|
/dashboard route:reviewers |
|
@herin049, this pull request was routed to reviewers. The handoff remains active across pushes until newer actionable human feedback arrives. Top-level feedback through this request will not return; unresolved review threads remain open. |
| @@ -0,0 +1 @@ | |||
| `opentelemetry-sdk`: remove deprecated `LoggingHandler` and `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` | |||
There was a problem hiding this comment.
| `opentelemetry-sdk`: remove deprecated `LoggingHandler` and `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` | |
| `opentelemetry-sdk`: remove deprecated `LoggingHandler` and `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED`. Use the one provided by `opentelemetry-instrumentation-logging` instead. |
repetita iuvant
| @@ -0,0 +1 @@ | |||
| `opentelemetry-sdk`: remove deprecated `Log*` aliases of the `LogRecord*` logs classes | |||
There was a problem hiding this comment.
| `opentelemetry-sdk`: remove deprecated `Log*` aliases of the `LogRecord*` logs classes | |
| `opentelemetry-sdk`: remove deprecated `LogExportResult`, `LogExporter`, `ConsoleLogExporter`, `InMemoryLogExporter` aliases of the `*LogRecord*` logs classes |
|
Hi @herin049 — just a friendly reminder that this pull request is waiting on you. The dashboard status comment has the open items and is kept current.
|
Description
Part 2/3 of the logs stabilization stack (API -> SDK -> exporters). Depends on #5731.
Stabilizes the logs signal in the SDK package by moving it from
opentelemetry.sdk._logsto the publicopentelemetry.sdk.logspackage and removes SDK logs features that were already deprecated.opentelemetry.sdk._logstoopentelemetry.sdk.logs.opentelemetry.sdk._logsstays as a deprecated alias that emits aDeprecationWarningand keeps the old submodule paths (export,_internal, …) working.LogExporter,LogExportResult,ConsoleLogExporter,InMemoryLogExporter,LogLimitsandLogDroppedAttributesWarning.LoggingHandler, theOTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLEDenvironment variable and thesetup_logging_handlerargument of_initialize_components.OTEL_PYTHON_LOGGER_CONFIGURATORdefault, the docs (docs/sdk/logs*.rst) and all in-repo imports.Part of: #3361
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Does This PR Require a Contrib Repo Change?
Checklist:
Stack created with GitHub Stacks CLI • Give Feedback 💬