def logger(test_case):
log_buffer = StringIO()
ROOT_LOGGER.handlers[:] = []
stream_handler = logging.StreamHandler(stream=log_buffer)
stream_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(levelname)s - %(name)s#%(lineno)d - %(message)s')
stream_handler.setFormatter(formatter)
ROOT_LOGGER.addHandler(stream_handler)
yield log_buffer
if test_case.is_failed:
log_path = os.path.join(test_case._test_report_dir, 'test.log')
with test_case.log_exception("Attach test log"):
with open(log_path, 'w') as log_file:
log_file.write(log_buffer.getvalue().encode('utf-8'))
评论列表
文章目录