Skip to content
4 changes: 4 additions & 0 deletions opentelemetry-sdk/src/opentelemetry/sdk/_logs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0

from opentelemetry.sdk._logs._internal import (
ConcurrentMultiLogRecordProcessor,
LogDroppedAttributesWarning,
Logger,
LoggerProvider,
Expand All @@ -12,9 +13,11 @@
LogRecordProcessor,
ReadableLogRecord,
ReadWriteLogRecord,
SynchronousMultiLogRecordProcessor,
)

__all__ = [
"ConcurrentMultiLogRecordProcessor",
"Logger",
"LoggerProvider",
"LoggingHandler",
Expand All @@ -25,4 +28,5 @@
"LogRecordDroppedAttributesWarning",
"ReadableLogRecord",
"ReadWriteLogRecord",
"SynchronousMultiLogRecordProcessor",
]
12 changes: 12 additions & 0 deletions opentelemetry-sdk/tests/logs/test_multi_log_processor.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,18 @@ def force_flush(self, timeout_millis=30000):
return True


class TestPublicApi(unittest.TestCase):
def test_synchronous_multi_log_record_processor_is_public(self):
from opentelemetry.sdk._logs import ( # noqa: F401
SynchronousMultiLogRecordProcessor,
)

def test_concurrent_multi_log_record_processor_is_public(self):
from opentelemetry.sdk._logs import ( # noqa: F401
ConcurrentMultiLogRecordProcessor,
)


class TestLogRecordProcessor(unittest.TestCase):
def test_log_record_processor(self):
provider = LoggerProvider()
Expand Down
11 changes: 6 additions & 5 deletions tests/opentelemetry-test-utils/test-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ wrapt==1.16.0
-e opentelemetry-sdk
-e opentelemetry-semantic-conventions
-e tests/opentelemetry-test-utils
# these are required for weaver integration tests, we're running that only on linux / CPython
# because of lack of support for gRPC wheels on some platforms
./opentelemetry-proto ; platform_python_implementation != 'PyPy'
./exporter/opentelemetry-exporter-otlp-proto-common ; platform_python_implementation != 'PyPy'
./exporter/opentelemetry-exporter-otlp-proto-grpc ; platform_python_implementation != 'PyPy'
# these are required for weaver integration tests
# excluded on PyPy + Windows: there's no grpcio PyPy wheel and the gRPC C core
# fails to build from source with MSVC (test skips via _HAS_GRPC guard)
./opentelemetry-proto ; platform_python_implementation != 'PyPy' or platform_system != 'Windows'
./exporter/opentelemetry-exporter-otlp-proto-common ; platform_python_implementation != 'PyPy' or platform_system != 'Windows'
./exporter/opentelemetry-exporter-otlp-proto-grpc ; platform_python_implementation != 'PyPy' or platform_system != 'Windows'
3 changes: 3 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,9 @@ envlist =
lint-opentelemetry-propagator-jaeger

; skip py314t until grpc gets wheels for it or we stop using grpc exporter in weaver tests
; pypy3 runs the weaver tests on Linux only: weaver now uses tonic (pure Rust), so the
; grpc C core crash is gone (see issue #5176), but grpcio still has no PyPy wheel and won't
; build from source on Windows — there the weaver tests skip via the _HAS_GRPC guard
py3{10,11,12,13,14}-test-opentelemetry-test-utils
pypy3-test-opentelemetry-test-utils
lint-opentelemetry-test-utils
Expand Down