gpt4 book ai didi

python - pytest:基于每个模块的选择性日志级别

转载 作者:太空狗 更新时间:2023-10-30 01:31:21 28 4
gpt4 key购买 nike

我正在使用 pytest-3.7.1,它对日志记录有很好的支持,包括在测试期间实时记录到标准输出。我正在使用 --log-cli-level=DEBUG 将所有调试级别的日志记录转储到控制台。

我遇到的问题是 --log-cli-level=DEBUG 为我的测试程序中的所有 模块打开调试日志记录,包括第三方依赖项,它用大量无趣的输出淹没了日志。

Python 的日志记录模块能够为每个模块设置日志记录级别。这启用了选择性日志记录——例如,在一个普通的 Python 程序中,我可以只为我自己的一个或两个模块打开调试,并将日志输出限制为那些,或者为每个模块设置不同的日志级别。这可以为嘈杂的库关闭调试级别的日志记录。

所以我想做的是将相同的概念应用于 pytest 的日志记录 - 即从命令行为特定的非根记录器指定日志记录级别。例如,如果我有一个名为 test_foo.py 的模块,那么我正在寻找一种方法来从命令行为该模块设置日志级别。

如有必要,我准备自己动手(我知道如何向 pytest 添加自定义参数),但在我这样做之前,我只想确保目前还没有解决方案。有人知道吗?

最佳答案

我遇到了同样的问题,并在另一个 answer 中找到了解决方案:

代替--log-cli-level=DEBUG,使用--log-level DEBUG。它会禁用所有第三方模块日志(在我的例子中,我有很多 matplotlib 日志),但仍会为每个失败的测试输出您的应用程序日志。

关于python - pytest:基于每个模块的选择性日志级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52086974/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com