【发布时间】:2019-12-08 10:35:28
【问题描述】:
我正在使用 pytest 来测试产生一些输出的 CLI。在运行测试时,我想将 CLI 的日志级别设置为 DEBUG。但是,我不希望 CLI 日志干扰解析 CLI 输出的测试。
如何使日志记录模块将所有日志仅发送到标准错误?我查看了this 帖子,但它谈到了将日志发送到标准错误除了标准输出。
【问题讨论】:
-
你试过
logger.addHandler(logging.StreamHandler(sys.stderr)吗? -
pytest默认会捕获所有输出;capsys夹具将为您提供捕获的stdout/stderr输出,而caplog将捕获日志记录。我不认为你会受到任何干扰。如果我错了,请举一个您无法实现所需行为的测试示例。
标签: python logging pytest stderr