Compare commits
2 Commits
df22b3dd3d
...
c3761d1d08
| Author | SHA1 | Date | |
|---|---|---|---|
| c3761d1d08 | |||
| 85f1ea4efb |
@@ -61,15 +61,15 @@ def setup_logger(verbose: bool = False, log_file: Path | None = None) -> logging
|
||||
if info_handler is None:
|
||||
info_handler = logging.StreamHandler(sys.stdout)
|
||||
info_handler.addFilter(LevelFilter(logging.DEBUG, logging.INFO))
|
||||
info_handler.setFormatter(formatter)
|
||||
logger.addHandler(info_handler)
|
||||
info_handler.setFormatter(formatter)
|
||||
info_handler.setLevel(target_level)
|
||||
|
||||
if error_handler is None:
|
||||
error_handler = logging.StreamHandler(sys.stderr)
|
||||
error_handler.setLevel(logging.WARNING)
|
||||
error_handler.setFormatter(formatter)
|
||||
logger.addHandler(error_handler)
|
||||
error_handler.setFormatter(formatter)
|
||||
|
||||
for handler in file_handlers:
|
||||
handler.close()
|
||||
|
||||
@@ -124,6 +124,33 @@ def test_setup_logger_does_not_duplicate_handlers():
|
||||
assert first_count == second_count
|
||||
|
||||
|
||||
def test_setup_logger_resets_stream_formatters():
|
||||
logger = logging.getLogger("skywipe")
|
||||
original_handlers = list(logger.handlers)
|
||||
for handler in original_handlers:
|
||||
logger.removeHandler(handler)
|
||||
|
||||
try:
|
||||
setup_logger(verbose=False)
|
||||
alt_formatter = logging.Formatter(fmt="%(message)s")
|
||||
for handler in logger.handlers:
|
||||
if isinstance(handler, logging.StreamHandler):
|
||||
handler.setFormatter(alt_formatter)
|
||||
|
||||
setup_logger(verbose=False)
|
||||
|
||||
for handler in logger.handlers:
|
||||
if isinstance(handler, logging.StreamHandler):
|
||||
assert handler.formatter is not None
|
||||
assert handler.formatter._fmt == "%(levelname)s: %(message)s"
|
||||
finally:
|
||||
for handler in list(logger.handlers):
|
||||
handler.close()
|
||||
logger.removeHandler(handler)
|
||||
for handler in original_handlers:
|
||||
logger.addHandler(handler)
|
||||
|
||||
|
||||
def test_setup_logger_disables_propagation():
|
||||
root_logger = logging.getLogger()
|
||||
root_messages = []
|
||||
|
||||
Reference in New Issue
Block a user