Skip to content

Commit 7def515

Browse files
xrmxaabmass
authored andcommitted
opentelemetry-sdk: setup EventLogger when initializing logging (open-telemetry#4270)
1 parent 6f3008a commit 7def515

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
([#4251](https://github.com/open-telemetry/opentelemetry-python/pull/4251))
1212
- Fix recursion error with sdk disabled and handler added to root logger
1313
([#4259](https://github.com/open-telemetry/opentelemetry-python/pull/4259))
14+
- sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set
15+
([#4270](https://github.com/open-telemetry/opentelemetry-python/pull/4270))
1416

1517
## Version 1.28.0/0.49b0 (2024-11-05)
1618

opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py

+5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
from typing_extensions import Literal
2727

28+
from opentelemetry._events import set_event_logger_provider
2829
from opentelemetry._logs import set_logger_provider
2930
from opentelemetry.environment_variables import (
3031
OTEL_LOGS_EXPORTER,
@@ -33,6 +34,7 @@
3334
OTEL_TRACES_EXPORTER,
3435
)
3536
from opentelemetry.metrics import set_meter_provider
37+
from opentelemetry.sdk._events import EventLoggerProvider
3638
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
3739
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor, LogExporter
3840
from opentelemetry.sdk.environment_variables import (
@@ -248,6 +250,9 @@ def _init_logging(
248250

249251
logging.getLogger().addHandler(handler)
250252

253+
event_logger_provider = EventLoggerProvider(logger_provider=provider)
254+
set_event_logger_provider(event_logger_provider)
255+
251256

252257
def _import_exporters(
253258
trace_exporter_names: Sequence[str],

opentelemetry-sdk/tests/test_configurator.py

+24
Original file line numberDiff line numberDiff line change
@@ -586,14 +586,32 @@ def setUp(self):
586586
"opentelemetry.sdk._configuration.set_logger_provider"
587587
)
588588

589+
self.event_logger_provider_instance_mock = Mock()
590+
self.event_logger_provider_patch = patch(
591+
"opentelemetry.sdk._configuration.EventLoggerProvider",
592+
return_value=self.event_logger_provider_instance_mock,
593+
)
594+
self.set_event_logger_provider_patch = patch(
595+
"opentelemetry.sdk._configuration.set_event_logger_provider"
596+
)
597+
589598
self.processor_mock = self.processor_patch.start()
590599
self.provider_mock = self.provider_patch.start()
591600
self.set_provider_mock = self.set_provider_patch.start()
592601

602+
self.event_logger_provider_mock = (
603+
self.event_logger_provider_patch.start()
604+
)
605+
self.set_event_logger_provider_mock = (
606+
self.set_event_logger_provider_patch.start()
607+
)
608+
593609
def tearDown(self):
594610
self.processor_patch.stop()
595611
self.set_provider_patch.stop()
596612
self.provider_patch.stop()
613+
self.event_logger_provider_patch.stop()
614+
self.set_event_logger_provider_patch.stop()
597615
root_logger = getLogger("root")
598616
root_logger.handlers = [
599617
handler
@@ -616,6 +634,12 @@ def test_logging_init_empty(self):
616634
provider.resource.attributes.get("telemetry.auto.version"),
617635
"auto-version",
618636
)
637+
self.event_logger_provider_mock.assert_called_once_with(
638+
logger_provider=provider
639+
)
640+
self.set_event_logger_provider_mock.assert_called_once_with(
641+
self.event_logger_provider_instance_mock
642+
)
619643

620644
@patch.dict(
621645
environ,

0 commit comments

Comments
 (0)