我正在使用pytest开发自动化框架以测试应用程序。我的意图是从自动化框架中捕获文件中的日志以及从正在测试的应用程序发出的日志。
在pytest.ini
文件中的代码下面,可以完美地从自动化框架和应用程序中捕获文件中的日志(但是当我每次运行测试用例时,此文件将被覆盖)。
log_file = my-logs.log
log_file_level = DEBUG
log_file_format = %(asctime)s - %(name)s - %(levelname)s - %(message)s
log_file_date_format = %Y-%m-%d %H:%M:%S
在运行测试用例时,我下面记录了自定义代码以创建每个文件。
def create_file_logger(logger=None):
"""
:param logger:
:return:
"""
logger.setLevel(logging.DEBUG)
# Create file handlers
file_handler = logging.FileHandler(file_path)
# Create formatters and add it to handlers
file_formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(file_formatter)
# Add handlers to the logger
logger.addHandler(file_handler)
return logger
这种自定义日志记录的问题是,我只能从自动化框架捕获日志,但不能捕获从被测应用程序发出的日志。
请提供您的建议和帮助。