有没有办法自定义从 conftest.py 登录 pytest 的格式

Is there a way to customise the format for logging in pytest from 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)

信息: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)。