From b0effe8021a368642fe78ac47abc46225b75a49f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Ram=C3=ADrez=20Mondrag=C3=B3n?= Date: Thu, 30 Jan 2025 19:33:41 -0600 Subject: [PATCH] chore: Use public log levels mapping in Python 3.11+ (#2850) --- singer_sdk/plugin_base.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/singer_sdk/plugin_base.py b/singer_sdk/plugin_base.py index 62f72f804..fcaa873b1 100644 --- a/singer_sdk/plugin_base.py +++ b/singer_sdk/plugin_base.py @@ -38,6 +38,11 @@ extend_validator_with_defaults, ) +if sys.version_info >= (3, 11): + _LOG_LEVELS_MAPPING = logging.getLevelNamesMapping() +else: + _LOG_LEVELS_MAPPING = logging._nameToLevel # noqa: SLF001 + if t.TYPE_CHECKING: from jsonschema import ValidationError @@ -137,7 +142,7 @@ def logger(cls) -> logging.Logger: # noqa: N805 logger = logging.getLogger(cls.name) - if log_level is not None and log_level.upper() in logging._levelToName.values(): # noqa: SLF001 + if log_level is not None and log_level.upper() in _LOG_LEVELS_MAPPING: logger.setLevel(log_level.upper()) return logger