Skip to content

Commit 6fdaf44

Browse files
authored
opentelemetry-api: fix wrong conditional on duplicated events log provider warning (#4299)
1 parent 9fe1f19 commit 6fdaf44

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
([#4259](https://github.com/open-telemetry/opentelemetry-python/pull/4259))
1616
- sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set
1717
([#4270](https://github.com/open-telemetry/opentelemetry-python/pull/4270))
18+
- api: fix logging of duplicate EventLogger setup warning
19+
([#4299](https://github.com/open-telemetry/opentelemetry-python/pull/4299))
1820

1921
## Version 1.28.0/0.49b0 (2024-11-05)
2022

opentelemetry-api/src/opentelemetry/_events/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def set_elp() -> None:
192192

193193
did_set = _EVENT_LOGGER_PROVIDER_SET_ONCE.do_once(set_elp)
194194

195-
if log and did_set:
195+
if log and not did_set:
196196
_logger.warning(
197197
"Overriding of current EventLoggerProvider is not allowed"
198198
)

opentelemetry-api/tests/events/test_event_logger_provider.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,28 @@
1111

1212

1313
class TestGlobals(EventsGlobalsTest, unittest.TestCase):
14-
def test_set_event_logger_provider(self):
14+
@patch("opentelemetry._events._logger")
15+
def test_set_event_logger_provider(self, logger_mock):
1516
elp_mock = Mock()
1617
# pylint: disable=protected-access
1718
self.assertIsNone(events._EVENT_LOGGER_PROVIDER)
1819
set_event_logger_provider(elp_mock)
1920
self.assertIs(events._EVENT_LOGGER_PROVIDER, elp_mock)
2021
self.assertIs(get_event_logger_provider(), elp_mock)
22+
logger_mock.warning.assert_not_called()
23+
24+
# pylint: disable=no-self-use
25+
@patch("opentelemetry._events._logger")
26+
def test_set_event_logger_provider_will_warn_second_call(
27+
self, logger_mock
28+
):
29+
elp_mock = Mock()
30+
set_event_logger_provider(elp_mock)
31+
set_event_logger_provider(elp_mock)
32+
33+
logger_mock.warning.assert_called_once_with(
34+
"Overriding of current EventLoggerProvider is not allowed"
35+
)
2136

2237
def test_get_event_logger_provider(self):
2338
# pylint: disable=protected-access

0 commit comments

Comments
 (0)