diff --git a/tests/test_utils_logcfg.py b/tests/test_utils_logcfg.py index dcb36468a..14d1a5b51 100644 --- a/tests/test_utils_logcfg.py +++ b/tests/test_utils_logcfg.py @@ -23,16 +23,30 @@ def setup_custom_levels(): ("LONG", lambda msg: log.long(msg), "This is a LONG message"), ("ENLARGE", lambda msg: log.enlarge(msg), "Please ENLARGE this!"), ]) +import logging +from logzero import logger as log +import logzero +import sys + def test_custom_log_outputs(levelname, logfunc, message, capsys): - logzero.setup_logger(stream=sys.stderr) - logcfg(levelname) - print("logger level:", log.level) + # Remove all handlers to avoid duplicate logs + for h in log.handlers[:]: + log.removeHandler(h) + + # Create a new handler that logs to stderr + handler = logging.StreamHandler(sys.stderr) + formatter = logzero.LogFormatter() + handler.setFormatter(formatter) + log.addHandler(handler) + + logcfg(levelname) + + # Call and capture logfunc(message) captured = capsys.readouterr().err print("Captured stderr:", repr(captured)) - assert message in captured, f"Expected message '{message}' not found in log" assert levelname in captured, f"Expected level '{levelname}' not present in log"