Skip to content

Commit a4b777e

Browse files
committed
Fix ruff
1 parent 711779a commit a4b777e

File tree

2 files changed

+78
-39
lines changed

2 files changed

+78
-39
lines changed

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

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
import atexit
1818
import base64
1919
import concurrent.futures
20+
import fnmatch
2021
import json
2122
import logging
2223
import threading
2324
import traceback
2425
import warnings
25-
import fnmatch
2626
from os import environ
2727
from threading import Lock
2828
from time import time_ns
@@ -107,18 +107,18 @@ def __init__(
107107
trace_based: bool = False,
108108
):
109109
"""Initialize LoggerConfig with specified parameters.
110-
110+
111111
Args:
112112
disabled: A boolean indication of whether the logger is enabled.
113113
If not explicitly set, defaults to False (i.e. Loggers are enabled by default).
114114
If True, the logger behaves equivalently to a No-op Logger.
115115
minimum_severity: A SeverityNumber indicating the minimum severity level
116116
for log records to be processed. If not explicitly set, defaults to UNSPECIFIED (0).
117-
If a log record's SeverityNumber is specified and is less than the configured
117+
If a log record's SeverityNumber is specified and is less than the configured
118118
minimum_severity, the log record is dropped by the Logger.
119-
trace_based: A boolean indication of whether the logger should only
120-
process log records associated with sampled traces. If not explicitly set,
121-
defaults to False. If True, log records associated with unsampled traces
119+
trace_based: A boolean indication of whether the logger should only
120+
process log records associated with sampled traces. If not explicitly set,
121+
defaults to False. If True, log records associated with unsampled traces
122122
are dropped by the Logger.
123123
"""
124124
self.disabled = disabled
@@ -134,39 +134,43 @@ def __repr__(self):
134134

135135

136136
def create_logger_configurator_by_name(
137-
logger_configs: dict[str, LoggerConfig]
137+
logger_configs: dict[str, LoggerConfig],
138138
) -> LoggerConfigurator:
139139
"""Create a LoggerConfigurator that selects configuration based on logger name.
140140
141141
Args:
142142
logger_configs: A dictionary mapping logger names to LoggerConfig instances.
143143
Loggers not found in this mapping will use the default config.
144-
144+
145145
Returns:
146146
A LoggerConfigurator function that can be used with LoggerProvider.
147147
"""
148+
148149
def configurator(scope: InstrumentationScope) -> LoggerConfig | None:
149150
return logger_configs.get(scope.name)
151+
150152
return configurator
151153

152154

153155
def create_logger_configurator_with_pattern(
154-
patterns: list[tuple[str, LoggerConfig]]
156+
patterns: list[tuple[str, LoggerConfig]],
155157
) -> LoggerConfigurator:
156158
"""Create a LoggerConfigurator that matches logger names using patterns.
157-
159+
158160
Args:
159161
patterns: A list of (pattern, config) tuples. Patterns are matched in order,
160162
and the first match is used. Use '*' as a wildcard.
161-
163+
162164
Returns:
163165
A LoggerConfigurator function that can be used with LoggerProvider.
164166
"""
167+
165168
def configurator(scope: InstrumentationScope) -> LoggerConfig | None:
166169
for pattern, config in patterns:
167170
if fnmatch.fnmatch(scope.name, pattern):
168171
return config
169172
return None
173+
170174
return configurator
171175

172176

@@ -795,7 +799,7 @@ def instrumentation_scope(self):
795799

796800
def update_config(self, config: LoggerConfig) -> None:
797801
"""Update the logger's configuration.
798-
802+
799803
Args:
800804
config: The new LoggerConfig to use.
801805
"""
@@ -865,7 +869,9 @@ def emit(
865869
if is_less_than_min_severity(record, self._config.minimum_severity):
866870
return
867871

868-
if should_drop_logs_for_unsampled_traces(record, self._config.trace_based):
872+
if should_drop_logs_for_unsampled_traces(
873+
record, self._config.trace_based
874+
):
869875
return
870876

871877
log_data = LogData(record, self._instrumentation_scope)
@@ -905,12 +911,16 @@ def __init__(
905911
if logger_configurator is not None:
906912
self._logger_configurator = logger_configurator
907913
else:
908-
def default_configurator(scope: InstrumentationScope) -> LoggerConfig:
914+
915+
def default_configurator(
916+
scope: InstrumentationScope,
917+
) -> LoggerConfig:
909918
return LoggerConfig(
910919
disabled=self._disabled,
911920
minimum_severity=self._min_severity_level,
912921
trace_based=self._trace_based,
913922
)
923+
914924
self._logger_configurator = default_configurator
915925

916926
@property
@@ -989,9 +999,10 @@ def add_log_record_processor(
989999
log_record_processor
9901000
)
9911001

992-
def set_logger_configurator(self, configurator: LoggerConfigurator) -> None:
993-
"""Update the logger configurator and apply the new configuration to all existing loggers.
994-
"""
1002+
def set_logger_configurator(
1003+
self, configurator: LoggerConfigurator
1004+
) -> None:
1005+
"""Update the logger configurator and apply the new configuration to all existing loggers."""
9951006
with self._logger_cache_lock:
9961007
self._logger_configurator = configurator
9971008
for logger in self._logger_cache.values():

opentelemetry-sdk/tests/logs/test_logs.py

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@
1818
from unittest.mock import Mock, patch
1919

2020
from opentelemetry._logs import LogRecord as APILogRecord
21-
from opentelemetry._logs import SeverityNumber
22-
from opentelemetry._logs import NoOpLogger
21+
from opentelemetry._logs import NoOpLogger, SeverityNumber
2322
from opentelemetry.context import get_current
2423
from opentelemetry.sdk._logs import (
2524
Logger,
@@ -347,8 +346,7 @@ def test_emit_logrecord_trace_filtering_edge_cases(self):
347346
def test_emit_both_min_severity_and_trace_based_filtering(self):
348347
"""Test that both min severity and trace-based filtering work together"""
349348
config = LoggerConfig(
350-
minimum_severity=SeverityNumber.WARN,
351-
trace_based=True
349+
minimum_severity=SeverityNumber.WARN, trace_based=True
352350
)
353351
logger, log_record_processor_mock = self._get_logger(config)
354352

@@ -409,7 +407,7 @@ def test_logger_config_property(self):
409407
config = LoggerConfig(
410408
disabled=True,
411409
minimum_severity=SeverityNumber.WARN,
412-
trace_based=True
410+
trace_based=True,
413411
)
414412
logger, _ = self._get_logger(config)
415413

@@ -421,19 +419,25 @@ def test_logger_configurator_behavior(self):
421419
"""Test LoggerConfigurator functionality including custom configurators and dynamic updates"""
422420

423421
logger_configs = {
424-
"test.database": LoggerConfig(minimum_severity=SeverityNumber.ERROR),
422+
"test.database": LoggerConfig(
423+
minimum_severity=SeverityNumber.ERROR
424+
),
425425
"test.auth": LoggerConfig(disabled=True),
426-
"test.performance": LoggerConfig(trace_based=True)
426+
"test.performance": LoggerConfig(trace_based=True),
427427
}
428428

429-
from opentelemetry.sdk._logs._internal import create_logger_configurator_by_name # pylint:disable=import-outside-toplevel
429+
from opentelemetry.sdk._logs._internal import (
430+
create_logger_configurator_by_name, # pylint:disable=import-outside-toplevel
431+
)
432+
430433
configurator = create_logger_configurator_by_name(logger_configs)
431434

432435
provider = LoggerProvider(logger_configurator=configurator)
433436

434-
435437
db_logger = provider.get_logger("test.database")
436-
self.assertEqual(db_logger.config.minimum_severity, SeverityNumber.ERROR)
438+
self.assertEqual(
439+
db_logger.config.minimum_severity, SeverityNumber.ERROR
440+
)
437441
self.assertFalse(db_logger.config.disabled)
438442
self.assertFalse(db_logger.config.trace_based)
439443

@@ -444,26 +448,35 @@ def test_logger_configurator_behavior(self):
444448
self.assertTrue(perf_logger.config.trace_based)
445449

446450
other_logger = provider.get_logger("test.other")
447-
self.assertEqual(other_logger.config.minimum_severity, SeverityNumber.UNSPECIFIED)
451+
self.assertEqual(
452+
other_logger.config.minimum_severity, SeverityNumber.UNSPECIFIED
453+
)
448454
self.assertFalse(other_logger.config.disabled)
449455
self.assertFalse(other_logger.config.trace_based)
450456

451457
def test_logger_configurator_pattern_matching(self):
452458
"""Test LoggerConfigurator with pattern matching"""
453-
from opentelemetry.sdk._logs._internal import create_logger_configurator_with_pattern
459+
from opentelemetry.sdk._logs._internal import (
460+
create_logger_configurator_with_pattern,
461+
)
454462

455463
patterns = [
456-
("test.database.*", LoggerConfig(minimum_severity=SeverityNumber.ERROR)),
464+
(
465+
"test.database.*",
466+
LoggerConfig(minimum_severity=SeverityNumber.ERROR),
467+
),
457468
("test.*.debug", LoggerConfig(disabled=True)),
458469
("test.*", LoggerConfig(trace_based=True)),
459-
("*", LoggerConfig(minimum_severity=SeverityNumber.WARN))
470+
("*", LoggerConfig(minimum_severity=SeverityNumber.WARN)),
460471
]
461472

462473
configurator = create_logger_configurator_with_pattern(patterns)
463474
provider = LoggerProvider(logger_configurator=configurator)
464475

465476
db_logger = provider.get_logger("test.database.connection")
466-
self.assertEqual(db_logger.config.minimum_severity, SeverityNumber.ERROR)
477+
self.assertEqual(
478+
db_logger.config.minimum_severity, SeverityNumber.ERROR
479+
)
467480

468481
debug_logger = provider.get_logger("test.module.debug")
469482
self.assertTrue(debug_logger.config.disabled)
@@ -472,16 +485,23 @@ def test_logger_configurator_pattern_matching(self):
472485
self.assertTrue(general_logger.config.trace_based)
473486

474487
other_logger = provider.get_logger("other.module")
475-
self.assertEqual(other_logger.config.minimum_severity, SeverityNumber.WARN)
488+
self.assertEqual(
489+
other_logger.config.minimum_severity, SeverityNumber.WARN
490+
)
476491

477492
def test_logger_configurator_dynamic_updates(self):
478493
"""Test that LoggerConfigurator updates apply to existing loggers"""
479494
initial_configs = {
480495
"test.module": LoggerConfig(minimum_severity=SeverityNumber.INFO)
481496
}
482497

483-
from opentelemetry.sdk._logs._internal import create_logger_configurator_by_name # pylint:disable=import-outside-toplevel
484-
initial_configurator = create_logger_configurator_by_name(initial_configs)
498+
from opentelemetry.sdk._logs._internal import (
499+
create_logger_configurator_by_name, # pylint:disable=import-outside-toplevel
500+
)
501+
502+
initial_configurator = create_logger_configurator_by_name(
503+
initial_configs
504+
)
485505

486506
provider = LoggerProvider(logger_configurator=initial_configurator)
487507

@@ -490,28 +510,35 @@ def test_logger_configurator_dynamic_updates(self):
490510
self.assertFalse(logger.config.disabled)
491511

492512
updated_configs = {
493-
"test.module": LoggerConfig(minimum_severity=SeverityNumber.ERROR, disabled=True)
513+
"test.module": LoggerConfig(
514+
minimum_severity=SeverityNumber.ERROR, disabled=True
515+
)
494516
}
495-
updated_configurator = create_logger_configurator_by_name(updated_configs)
517+
updated_configurator = create_logger_configurator_by_name(
518+
updated_configs
519+
)
496520

497521
provider.set_logger_configurator(updated_configurator)
498522

499523
self.assertEqual(logger.config.minimum_severity, SeverityNumber.ERROR)
500524
self.assertTrue(logger.config.disabled)
501525

502526
new_logger = provider.get_logger("test.module")
503-
self.assertEqual(new_logger.config.minimum_severity, SeverityNumber.ERROR)
527+
self.assertEqual(
528+
new_logger.config.minimum_severity, SeverityNumber.ERROR
529+
)
504530
self.assertTrue(new_logger.config.disabled)
505531

506532
def test_logger_configurator_returns_none(self):
507533
"""Test LoggerConfigurator that returns None falls back to default"""
534+
508535
def none_configurator(scope):
509536
return None
510537

511538
provider = LoggerProvider(
512539
logger_configurator=none_configurator,
513540
min_severity_level=SeverityNumber.WARN,
514-
trace_based=True
541+
trace_based=True,
515542
)
516543

517544
logger = provider.get_logger("test.module")
@@ -522,6 +549,7 @@ def none_configurator(scope):
522549

523550
def test_logger_configurator_with_filtering(self):
524551
"""Test that LoggerConfigurator configs are properly applied during filtering"""
552+
525553
def selective_configurator(scope):
526554
if scope.name == "disabled.logger":
527555
return LoggerConfig(disabled=True)

0 commit comments

Comments
 (0)