MCPcopy Create free account
hub / github.com/DeepLabCut/DeepLabCut / clean_logger

Function clean_logger

tests/core/debug/test_debug_logger.py:30–56  ·  view source on GitHub ↗

Create an isolated logger namespace and fully clean it afterwards.

(logger_name: str)

Source from the content-addressed store, hash-verified

28
29@pytest.fixture
30def clean_logger(logger_name: str):
31 """Create an isolated logger namespace and fully clean it afterwards."""
32 logger = logging.getLogger(logger_name)
33 old_level = logger.level
34 old_propagate = logger.propagate
35 old_handlers = list(logger.handlers)
36
37 logger.setLevel(logging.DEBUG)
38 logger.propagate = False
39
40 yield logger
41
42 for handler in list(logger.handlers):
43 logger.removeHandler(handler)
44 try:
45 handler.close()
46 except Exception:
47 pass
48
49 for handler in old_handlers:
50 logger.addHandler(handler)
51
52 logger.setLevel(old_level)
53 logger.propagate = old_propagate
54
55 # Remove recorder marker installed by install_debug_recorder().
56 logger.__dict__.pop("_dlc_debug_recorder", None)
57
58
59def test_install_debug_recorder_is_idempotent(logger_name: str, clean_logger):

Callers

nothing calls this directly

Calls 1

closeMethod · 0.45

Tested by

no test coverage detected