Skip to content

Commit 919aa30

Browse files
committed
get logger at call time to fix missing log file error
This also fixes the messy GitHub Actions output pytest-dev/pytest#5502 (comment)
1 parent d415ba7 commit 919aa30

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

pytest_mpl/plugin.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -411,22 +411,24 @@ def __init__(
411411
self._test_stats = None
412412
self.return_value = {}
413413

414+
def get_logger(self):
414415
# configure a separate logger for this pluggin which is independent
415416
# of the options that are configured for pytest or for the code that
416417
# is tested; turn debug prints on only if "-vv" or more passed
417-
level = logging.DEBUG if config.option.verbose > 1 else logging.INFO
418-
if config.option.log_cli_format is not None:
419-
fmt = config.option.log_cli_format
418+
level = logging.DEBUG if self.config.option.verbose > 1 else logging.INFO
419+
if self.config.option.log_cli_format is not None:
420+
fmt = self.config.option.log_cli_format
420421
else:
421422
# use pytest's default fmt
422423
fmt = "%(levelname)-8s %(name)s:%(filename)s:%(lineno)d %(message)s"
423424
formatter = logging.Formatter(fmt)
424425
handler = logging.StreamHandler()
425426
handler.setFormatter(formatter)
426-
self.logger = logging.getLogger('pytest-mpl')
427-
self.logger.propagate = False
428-
self.logger.setLevel(level)
429-
self.logger.addHandler(handler)
427+
logger = logging.getLogger('pytest-mpl')
428+
logger.propagate = False
429+
logger.setLevel(level)
430+
logger.addHandler(handler)
431+
return logger
430432

431433
def _file_extension(self, item):
432434
compare = get_compare(item)
@@ -502,7 +504,7 @@ def _download_file(self, baseline, filename):
502504
u = urlopen(base_url + filename)
503505
content = u.read()
504506
except Exception as e:
505-
self.logger.info(f'Downloading {base_url + filename} failed: {repr(e)}')
507+
self.get_logger().info(f'Downloading {base_url + filename} failed: {repr(e)}')
506508
else:
507509
break
508510
else: # Could not download baseline image from any of the available URLs

0 commit comments

Comments
 (0)