From e19dede79bb4608f16ab7108ba02073cf20ad625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bern=C3=A1t=20G=C3=A1bor?= Date: Thu, 8 Dec 2022 18:00:51 -0800 Subject: [PATCH] Do not log distlib.util or filelock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Bernát Gábor --- docs/changelog/2624.bugfix.rst | 1 + src/tox/report.py | 22 +--------------------- tests/test_report.py | 8 ++++---- 3 files changed, 6 insertions(+), 25 deletions(-) create mode 100644 docs/changelog/2624.bugfix.rst diff --git a/docs/changelog/2624.bugfix.rst b/docs/changelog/2624.bugfix.rst new file mode 100644 index 0000000000..ee0075af33 --- /dev/null +++ b/docs/changelog/2624.bugfix.rst @@ -0,0 +1 @@ +Disable logging from ``distlib.util`` and ``filelock`` as these log messages are too verbose - by :user:`gaborbernat`. diff --git a/src/tox/report.py b/src/tox/report.py index ccff84af3b..f8a57a7898 100644 --- a/src/tox/report.py +++ b/src/tox/report.py @@ -204,36 +204,16 @@ def patch_thread() -> Iterator[None]: def update_verbosity(self, verbosity: int) -> None: level = _get_level(verbosity) LOGGER.setLevel(level) - for name in ("distlib.util", "filelock"): - logger = logging.getLogger(name) - for logging_filter in logger.filters: # pragma: no branch # the filters is never empty - if isinstance(logging_filter, LowerInfoLevel): # pragma: no branch # we always find it - logging_filter.level = level - break self._setup_level(self._is_colored, level) -class LowerInfoLevel(logging.Filter): - def __init__(self, level: int) -> None: - super().__init__() - self.level = level - - def filter(self, record: logging.LogRecord) -> bool: - if record.levelname in "INFO": - record.levelno = logging.DEBUG - record.levelname = "DEBUG" - return record.levelno >= self.level - - def setup_report(verbosity: int, is_colored: bool) -> ToxHandler: _clean_handlers(LOGGER) level = _get_level(verbosity) LOGGER.setLevel(level) - lower_info_level = LowerInfoLevel(level) for name in ("distlib.util", "filelock"): logger = logging.getLogger(name) - logger.filters.clear() - logger.addFilter(lower_info_level) + logger.disabled = True out_err: OutErr = (sys.stdout, sys.stderr) # type: ignore[assignment] handler = ToxHandler(level, is_colored, out_err) LOGGER.addHandler(handler) diff --git a/tests/test_report.py b/tests/test_report.py index 548262bd93..aeb7d43121 100644 --- a/tests/test_report.py +++ b/tests/test_report.py @@ -25,8 +25,8 @@ def test_setup_report(mocker: MockerFixture, capsys: CaptureFixture, verbosity: logging.info("info") logging.debug("debug") logging.log(logging.NOTSET, "not-set") # this should not be logged - lowered = "distlib.util", "filelock" - for name in lowered: + disabled = "distlib.util", "filelock" + for name in disabled: logger = logging.getLogger(name) logger.warning(f"{name}-warn") logger.info(f"{name}-info") @@ -38,15 +38,15 @@ def test_setup_report(mocker: MockerFixture, capsys: CaptureFixture, verbosity: assert color_init.call_count == (1 if color else 0) msg_count = min(verbosity + 1, 5) - msg_count += (1 if verbosity >= 2 else 0) * len(lowered) # warning lowered is_debug_or_more = verbosity >= 4 if is_debug_or_more: msg_count += 1 # we log at debug level setting up the logger - msg_count += (2 if verbosity >= 4 else 1) * len(lowered) out, err = capsys.readouterr() assert not err assert out + assert "filelock" not in out + assert "distlib.util" not in out lines = out.splitlines() assert len(lines) == msg_count, out