From 988a910f74be8b36e595b0da8c178076a5ac844f Mon Sep 17 00:00:00 2001 From: Bas van Beek <43369155+BvB93@users.noreply.github.com> Date: Mon, 29 Nov 2021 18:07:39 +0100 Subject: [PATCH] MAINT: Do not modify global logging settings when configuring the CAT logger (#207) --- CAT/__init__.py | 5 ----- CAT/logger.py | 13 +++++++++---- conftest.py | 8 -------- tests/test_logger.py | 17 +++++++++++++++++ 4 files changed, 26 insertions(+), 17 deletions(-) create mode 100644 tests/test_logger.py diff --git a/CAT/__init__.py b/CAT/__init__.py index c42eec26..41129fd0 100644 --- a/CAT/__init__.py +++ b/CAT/__init__.py @@ -2,11 +2,6 @@ # flake8: noqa: E402 -import logging -_mpl_logger = logging.getLogger('matplotlib') -_mpl_logger.setLevel(logging.INFO) -del _mpl_logger, logging - from .__version__ import __version__ as __version__ __author__ = "Bas van Beek" __email__ = 'b.f.van.beek@vu.nl' diff --git a/CAT/logger.py b/CAT/logger.py index 09932d7f..d990cac6 100755 --- a/CAT/logger.py +++ b/CAT/logger.py @@ -20,11 +20,16 @@ __all__ = ['logger'] -#: A logger for CAT +#: The CAT logger logger = logging.getLogger('CAT') -logging.basicConfig(level=logging.DEBUG, - format='[%(asctime)s] %(levelname)s: %(message)s', - datefmt='%H:%M:%S') +_handler = logging.StreamHandler() +_handler.setLevel(logging.DEBUG) +_handler.setFormatter(logging.Formatter( + fmt='[%(asctime)s] %(levelname)s: %(message)s', + datefmt='%H:%M:%S', +)) +logger.addHandler(_handler) +del _handler def log_start(job: Job, mol: Molecule, job_preset: str, job_name: str) -> None: diff --git a/conftest.py b/conftest.py index a334b0d3..b41b65a9 100644 --- a/conftest.py +++ b/conftest.py @@ -1,19 +1,11 @@ """A pytest ``conftest.py`` file.""" -import logging -from typing import Any - import pytest import rdkit from nanoutils import VersionInfo -def pytest_configure(config: Any) -> None: - logging.getLogger("filelock").setLevel(logging.WARNING) - logging.getLogger("CAT").setLevel(logging.WARNING) - - @pytest.fixture(scope="session", autouse=True) def rdkit_version() -> None: rdkit_version = VersionInfo.from_str(rdkit.__version__) diff --git a/tests/test_logger.py b/tests/test_logger.py new file mode 100644 index 00000000..49e8c69e --- /dev/null +++ b/tests/test_logger.py @@ -0,0 +1,17 @@ +import sys +import subprocess + +CODE = r"""\ +import logging +from assertionlib import assertion + +assertion.len_eq(logging.root.handlers, 0) +import CAT +assertion.len_eq(logging.root.handlers, 0) +""" + + +def test_basic_config() -> None: + p = subprocess.run([sys.executable, '-c', CODE], encoding="utf8", stderr=subprocess.PIPE) + if p.returncode: + raise AssertionError(f"Non-zero return code: {p.returncode!r}\n\n{p.stderr}")