diff --git a/scopesim/__init__.py b/scopesim/__init__.py index 2a7b71df..97946132 100644 --- a/scopesim/__init__.py +++ b/scopesim/__init__.py @@ -34,6 +34,7 @@ top_logger.setLevel(logging.WARNING) sim_logger = top_logger.getChild(__package__) sim_logger.setLevel(logging.DEBUG) +top_logger.propagate = False formatter = logging.Formatter("%(name)s - %(levelname)s: %(message)s") log_dict = rc.__config__["!SIM.logging"] diff --git a/scopesim/tests/conftest.py b/scopesim/tests/conftest.py index 52469428..fab44def 100644 --- a/scopesim/tests/conftest.py +++ b/scopesim/tests/conftest.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """Global fixtures for pytest.""" +import logging from pathlib import Path import pytest @@ -15,6 +16,20 @@ sim.rc.__currsys__["!SIM.file.error_on_missing_file"] = True +@pytest.fixture(scope="package", autouse=True) +def configure_logging(): + top_logger = logging.getLogger("astar") + handlers = top_logger.handlers + # Disable handlers + top_logger.handlers = [] + # Make sure logging can reach pytest's caplog + top_logger.propagate = True + yield + # Restore + top_logger.handlers = handlers + top_logger.propagate = False + + @pytest.fixture(scope="package") def mock_dir(): """Path to mock directory."""