有没有办法自conftest.py

问题描述

是pytest的新手,正在尝试设置日志记录

我的conftest.py文件中包含以下代码

def pytest_logger_config(logger_config):
    logger_config.add_loggers([log_fname],stdout_level=logging.INFO)
    logger_config.set_log_option_default(log_fname)

一个文件logger.py

Log = logging.getLogger(log_fname)

撰写Log.info("message")

我看到日志写为
00:16.748 inf logfile_00_00_13_10_2020.log:消息

不确定该格式的定义方式或定义位置。

我们可以将其自定义为以下格式吗?

log_file_format = %(levelname)s: %(asctime)s (%(filename)s:%(lineno)s %(message)s)

INFO:2020-10-13 00:00:45(.py:)消息

应该在哪里定义这个?

解决方法

pytest.ini文件中:

[pytest]
log_format =  %(levelname)s: %(asctime)s (%(filename)s:%(lineno)s %(message)s)
log_date_format = %Y-%m-%d %H:%M:%S

您也不需要将自己的日志配置直接添加到测试代码中,只需启用pytest的实时日志记录功能(已记录here)。