Skip to content

Commit 283a54f

Browse files
committed
Address PR comments.
1 parent f3f9d14 commit 283a54f

4 files changed

Lines changed: 53 additions & 52 deletions

File tree

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
LoggingHandler,
4343
LogRecordProcessor,
4444
)
45-
from opentelemetry.sdk._logs._internal import LoggerConfiguratorT
45+
from opentelemetry.sdk._logs._internal import _LoggerConfiguratorT
4646
from opentelemetry.sdk._logs.export import (
4747
BatchLogRecordProcessor,
4848
LogRecordExporter,
@@ -312,10 +312,10 @@ def _init_logging(
312312
log_record_processors: Sequence[LogRecordProcessor] | None = None,
313313
export_log_record_processor: _ConfigurationExporterLogRecordProcessorT
314314
| None = None,
315-
logger_configurator: LoggerConfiguratorT | None = None,
315+
logger_configurator: _LoggerConfiguratorT | None = None,
316316
):
317317
provider = LoggerProvider(
318-
resource=resource, logger_configurator=logger_configurator
318+
resource=resource, _logger_configurator=logger_configurator
319319
)
320320
set_logger_provider(provider)
321321

@@ -389,7 +389,7 @@ def overwritten_config_fn(*args, **kwargs):
389389

390390
def _import_logger_configurator(
391391
logger_configurator_name: str | None,
392-
) -> LoggerConfiguratorT | None:
392+
) -> _LoggerConfiguratorT | None:
393393
if not logger_configurator_name:
394394
return None
395395

@@ -571,7 +571,7 @@ def _initialize_components(
571571
| None = None,
572572
tracer_configurator: _TracerConfiguratorT | None = None,
573573
meter_configurator: _MeterConfiguratorT | None = None,
574-
logger_configurator: LoggerConfiguratorT | None = None,
574+
logger_configurator: _LoggerConfiguratorT | None = None,
575575
):
576576
# pylint: disable=too-many-locals
577577
if trace_exporter_names is None:

opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import threading
2323
import traceback
2424
import warnings
25-
from _weakrefset import WeakSet
2625
from dataclasses import dataclass, field
2726
from os import environ
2827
from threading import Lock
@@ -36,6 +35,7 @@
3635
cast,
3736
overload,
3837
)
38+
from weakref import WeakSet
3939

4040
from typing_extensions import deprecated
4141

@@ -652,12 +652,12 @@ def flush(self) -> None:
652652

653653

654654
@dataclass
655-
class LoggerConfig:
655+
class _LoggerConfig:
656656
is_enabled: bool = True
657657

658658
@classmethod
659-
def default(cls) -> LoggerConfig:
660-
return LoggerConfig()
659+
def default(cls) -> _LoggerConfig:
660+
return _LoggerConfig()
661661

662662

663663
class Logger(APILogger):
@@ -671,7 +671,7 @@ def __init__(
671671
instrumentation_scope: InstrumentationScope,
672672
*,
673673
logger_metrics: LoggerMetrics,
674-
logger_config: LoggerConfig,
674+
_logger_config: _LoggerConfig,
675675
):
676676
super().__init__(
677677
instrumentation_scope.name,
@@ -683,12 +683,12 @@ def __init__(
683683
self._multi_log_record_processor = multi_log_record_processor
684684
self._instrumentation_scope = instrumentation_scope
685685
self._logger_metrics = logger_metrics
686-
self._logger_config = logger_config
686+
self._logger_config = _logger_config
687687

688688
def _is_enabled(self) -> bool:
689689
return self._logger_config.is_enabled
690690

691-
def set_logger_config(self, logger_config: LoggerConfig) -> None:
691+
def _set_logger_config(self, logger_config: _LoggerConfig) -> None:
692692
self._logger_config = logger_config
693693

694694
@property
@@ -752,20 +752,20 @@ def emit(
752752
self._multi_log_record_processor.on_emit(writable_record)
753753

754754

755-
LoggerConfiguratorT = Callable[[InstrumentationScope], LoggerConfig]
756-
RuleBasedLoggerConfigurator = RuleBasedConfigurator[LoggerConfig]
755+
_LoggerConfiguratorT = Callable[[InstrumentationScope], _LoggerConfig]
756+
_RuleBasedLoggerConfigurator = RuleBasedConfigurator[_LoggerConfig]
757757

758758

759759
def _default_logger_configurator(
760760
_logger_scope: InstrumentationScope,
761-
) -> LoggerConfig:
762-
return LoggerConfig.default()
761+
) -> _LoggerConfig:
762+
return _LoggerConfig.default()
763763

764764

765765
def _disable_logger_configurator(
766766
_logger_scope: InstrumentationScope,
767-
) -> LoggerConfig:
768-
return LoggerConfig(is_enabled=False)
767+
) -> _LoggerConfig:
768+
return _LoggerConfig(is_enabled=False)
769769

770770

771771
class LoggerProvider(APILoggerProvider):
@@ -778,7 +778,7 @@ def __init__(
778778
| None = None,
779779
*,
780780
meter_provider: MeterProvider | None = None,
781-
logger_configurator: LoggerConfiguratorT | None = None,
781+
_logger_configurator: _LoggerConfiguratorT | None = None,
782782
):
783783
if resource is None:
784784
self._resource = Resource.create({})
@@ -793,7 +793,7 @@ def __init__(
793793
disabled = environ.get(OTEL_SDK_DISABLED, "")
794794
self._disabled = disabled.lower().strip() == "true"
795795
self._logger_configurator = (
796-
logger_configurator or _default_logger_configurator
796+
_logger_configurator or _default_logger_configurator
797797
)
798798
self._at_exit_handler = None
799799
if shutdown_on_exit:
@@ -821,7 +821,7 @@ def _get_logger_no_cache(
821821
self._multi_log_record_processor,
822822
scope,
823823
logger_metrics=self._logger_metrics,
824-
logger_config=self._apply_logger_configurator(scope),
824+
_logger_config=self._apply_logger_configurator(scope),
825825
)
826826

827827
def _get_logger_cached(
@@ -876,8 +876,8 @@ def add_log_record_processor(
876876
log_record_processor
877877
)
878878

879-
def set_logger_configurator(
880-
self, *, logger_configurator: LoggerConfiguratorT
879+
def _set_logger_configurator(
880+
self, *, logger_configurator: _LoggerConfiguratorT
881881
):
882882
"""Set a new LoggerConfigurator for this LoggerProvider.
883883
@@ -888,15 +888,16 @@ def set_logger_configurator(
888888
self._logger_configurator = logger_configurator
889889
with self._active_loggers_lock:
890890
for logger in self._active_loggers:
891-
logger.set_logger_config(
891+
# pylint: disable-next=protected-access
892+
logger._set_logger_config(
892893
self._apply_logger_configurator(
893894
logger.instrumentation_scope
894895
)
895896
)
896897

897898
def _apply_logger_configurator(
898899
self, instrumentation_scope: InstrumentationScope
899-
) -> LoggerConfig:
900+
) -> _LoggerConfig:
900901
try:
901902
return self._logger_configurator(instrumentation_scope)
902903
# pylint: disable-next=broad-exception-caught
@@ -905,7 +906,7 @@ def _apply_logger_configurator(
905906
"logger configurator failed for scope '%s', using default config",
906907
instrumentation_scope.name,
907908
)
908-
return LoggerConfig.default()
909+
return _LoggerConfig.default()
909910

910911
def shutdown(self) -> None:
911912
"""Shuts down the log processors."""

opentelemetry-sdk/tests/logs/test_logs.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@
2626
ReadableLogRecord,
2727
)
2828
from opentelemetry.sdk._logs._internal import (
29-
LoggerConfig,
3029
LoggerMetrics,
3130
NoOpLogger,
32-
RuleBasedLoggerConfigurator,
3331
SynchronousMultiLogRecordProcessor,
3432
_disable_logger_configurator,
33+
_LoggerConfig,
34+
_RuleBasedLoggerConfigurator,
3535
)
3636
from opentelemetry.sdk.environment_variables import OTEL_SDK_DISABLED
3737
from opentelemetry.sdk.resources import Resource
@@ -112,18 +112,18 @@ def test_default_logger_configurator(self):
112112

113113
def test_logger_provider_with_disabled_configurator(self):
114114
provider = LoggerProvider(
115-
logger_configurator=_disable_logger_configurator
115+
_logger_configurator=_disable_logger_configurator
116116
)
117117
logger = provider.get_logger("test")
118118
self.assertFalse(logger._is_enabled())
119119

120120
def test_logger_provider_with_custom_configurator(self):
121121
def configurator(scope):
122122
if scope.name == "disabled_logger":
123-
return LoggerConfig(is_enabled=False)
124-
return LoggerConfig.default()
123+
return _LoggerConfig(is_enabled=False)
124+
return _LoggerConfig.default()
125125

126-
provider = LoggerProvider(logger_configurator=configurator)
126+
provider = LoggerProvider(_logger_configurator=configurator)
127127
enabled = provider.get_logger("enabled_logger")
128128
disabled = provider.get_logger("disabled_logger")
129129
self.assertTrue(enabled._is_enabled())
@@ -134,14 +134,14 @@ def test_set_logger_configurator_updates_existing_loggers(self):
134134
logger = provider.get_logger("test")
135135
self.assertTrue(logger._is_enabled())
136136

137-
provider.set_logger_configurator(
137+
provider._set_logger_configurator(
138138
logger_configurator=_disable_logger_configurator
139139
)
140140
self.assertFalse(logger._is_enabled())
141141

142142
def test_set_logger_configurator_affects_new_loggers(self):
143143
provider = LoggerProvider()
144-
provider.set_logger_configurator(
144+
provider._set_logger_configurator(
145145
logger_configurator=_disable_logger_configurator
146146
)
147147
logger = provider.get_logger("new_logger")
@@ -150,7 +150,7 @@ def test_set_logger_configurator_affects_new_loggers(self):
150150
# pylint: disable-next=no-self-use
151151
def test_disabled_logger_skips_emit(self):
152152
provider = LoggerProvider(
153-
logger_configurator=_disable_logger_configurator
153+
_logger_configurator=_disable_logger_configurator
154154
)
155155
logger = provider.get_logger("test")
156156
processor_mock = Mock()
@@ -165,15 +165,15 @@ def test_rule_based_logger_configurator(self):
165165
rules = [
166166
(
167167
_scope_name_matches_glob(glob_pattern="module_name"),
168-
LoggerConfig(is_enabled=True),
168+
_LoggerConfig(is_enabled=True),
169169
),
170170
(
171171
_scope_name_matches_glob(glob_pattern="other_module_name"),
172-
LoggerConfig(is_enabled=False),
172+
_LoggerConfig(is_enabled=False),
173173
),
174174
]
175-
configurator = RuleBasedLoggerConfigurator(
176-
rules=rules, default_config=LoggerConfig(is_enabled=True)
175+
configurator = _RuleBasedLoggerConfigurator(
176+
rules=rules, default_config=_LoggerConfig(is_enabled=True)
177177
)
178178

179179
provider = LoggerProvider()
@@ -185,7 +185,7 @@ def test_rule_based_logger_configurator(self):
185185
self.assertTrue(logger._is_enabled())
186186
self.assertTrue(other_logger._is_enabled())
187187

188-
provider.set_logger_configurator(logger_configurator=configurator)
188+
provider._set_logger_configurator(logger_configurator=configurator)
189189

190190
self.assertTrue(logger._is_enabled())
191191
self.assertFalse(other_logger._is_enabled())
@@ -196,11 +196,11 @@ def test_rule_based_logger_configurator_default_when_rules_dont_match(
196196
rules = [
197197
(
198198
_scope_name_matches_glob(glob_pattern="module_name"),
199-
LoggerConfig(is_enabled=False),
199+
_LoggerConfig(is_enabled=False),
200200
),
201201
]
202-
configurator = RuleBasedLoggerConfigurator(
203-
rules=rules, default_config=LoggerConfig(is_enabled=True)
202+
configurator = _RuleBasedLoggerConfigurator(
203+
rules=rules, default_config=_LoggerConfig(is_enabled=True)
204204
)
205205

206206
provider = LoggerProvider()
@@ -212,15 +212,15 @@ def test_rule_based_logger_configurator_default_when_rules_dont_match(
212212
self.assertTrue(logger._is_enabled())
213213
self.assertTrue(other_logger._is_enabled())
214214

215-
provider.set_logger_configurator(logger_configurator=configurator)
215+
provider._set_logger_configurator(logger_configurator=configurator)
216216

217217
self.assertFalse(logger._is_enabled())
218218
self.assertTrue(other_logger._is_enabled())
219219

220220
def test_rule_based_configurator_first_match_wins(self):
221-
disabled_config = LoggerConfig(is_enabled=False)
222-
enabled_config = LoggerConfig(is_enabled=True)
223-
configurator = RuleBasedLoggerConfigurator(
221+
disabled_config = _LoggerConfig(is_enabled=False)
222+
enabled_config = _LoggerConfig(is_enabled=True)
223+
configurator = _RuleBasedLoggerConfigurator(
224224
rules=[
225225
(lambda s: s.name == "foo", disabled_config),
226226
(lambda s: s.name == "foo", enabled_config),
@@ -287,7 +287,7 @@ def _get_logger():
287287
{"an": "attribute"},
288288
),
289289
logger_metrics=LoggerMetrics(NoOpMeterProvider()),
290-
logger_config=LoggerConfig.default(),
290+
_logger_config=_LoggerConfig.default(),
291291
)
292292
return logger, log_record_processor_mock
293293

opentelemetry-sdk/tests/test_configurator.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
_OTelSDKConfigurator,
5454
)
5555
from opentelemetry.sdk._logs import LoggingHandler, LogRecordProcessor
56-
from opentelemetry.sdk._logs._internal import RuleBasedLoggerConfigurator
56+
from opentelemetry.sdk._logs._internal import _RuleBasedLoggerConfigurator
5757
from opentelemetry.sdk._logs._internal.export import LogRecordExporter
5858
from opentelemetry.sdk._logs.export import (
5959
ConsoleLogRecordExporter,
@@ -119,10 +119,10 @@ def add_span_processor(self, processor):
119119

120120

121121
class DummyLoggerProvider:
122-
def __init__(self, resource=None, *, logger_configurator=None):
122+
def __init__(self, resource=None, *, _logger_configurator=None):
123123
self.resource = resource
124124
self.processors = []
125-
self._logger_configurator = logger_configurator
125+
self._logger_configurator = _logger_configurator
126126

127127
def add_log_record_processor(self, processor):
128128
self.processors.append(processor)
@@ -1184,7 +1184,7 @@ def test_logging_init_custom_logger_configurator_with_env(
11841184
self, mock_entry_points
11851185
):
11861186
def custom_logger_configurator(logger_scope):
1187-
return mock.Mock(spec=RuleBasedLoggerConfigurator)(logger_scope)
1187+
return mock.Mock(spec=_RuleBasedLoggerConfigurator)(logger_scope)
11881188

11891189
mock_entry_points.configure_mock(
11901190
return_value=[

0 commit comments

Comments
 (0)