You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pytest如何同时设置DEBUG与INFO日志级别并查看全量日志输出

Pytest日志配置参数查询及全级别日志输出方案

配置参数可选值查询方式

不需要查找零散文档,两个方式可以拿到100%匹配本地版本的参数说明和可选值:

  • 执行pytest --help,在输出内容里搜索log关键字,能看到所有命令行维度支持的日志参数、取值范围、默认值,所有配置文件支持的参数和命令行参数完全对应,命名仅需去掉参数前缀横杠即可。
  • 直接查看本地pytest安装路径下的logging.py插件源码,所有参数的枚举值、生效逻辑都有明确标注,不会出现文档和实际版本不匹配的问题。

输出DEBUG、INFO全量日志的配置实现

日志级别从低到高排序为DEBUG < INFO < WARNING < ERROR < CRITICAL,只要把日志输出阈值设为最低的DEBUG,所有更高等级的日志(包含需要的INFO级别)都会被完整输出,不会有遗漏。

永久配置(推荐)

在项目根目录的pytest.ini文件里写入以下配置,所有pytest运行都会自动加载规则:

[pytest]
# 开启控制台实时日志输出
log_cli = True
# 控制台输出日志阈值设为DEBUG,覆盖所有级别
log_cli_level = DEBUG
# 控制台日志输出格式,可按需调整字段
log_cli_format = %(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(message)s
log_cli_date_format = %Y-%m-%d %H:%M:%S

# 日志文件写入配置(不需要写文件可以删掉这部分)
log_file = ./pytest_run_full.log
log_file_level = DEBUG
log_file_format = %(asctime)s | %(levelname)-8s | %(filename)s:%(lineno)d | %(message)s
log_file_date_format = %Y-%m-%d %H:%M:%S

临时运行配置

单次运行需要看全量日志时,直接在执行命令里带上对应参数即可:

pytest --log-cli-level=DEBUG --log-file=./pytest_run_full.log --log-file-level=DEBUG

注意事项

如果业务代码里手动配置了logging的基础级别,比如写了logging.basicConfig(level=logging.INFO),会提前把DEBUG级别的日志过滤掉,pytest侧无法接收到这部分内容,需要把业务代码里的日志级别调整为DEBUG,或者去掉手动配置的level参数,交给pytest统一接管日志配置。


内容的提问来源于stack exchange,提问作者Avraam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:30:51