使用 logger 封装 logging,设置输出流为 sys.stdout.
当运行 unittest suite 并生成 report 时,logger 产生的日志会输出在下面的 console 中,但是并不输出在 report 中。

首先声明需求,因为公司希望我在报告中错误信息简化为一些其他人能看懂业务就能知道的文字,而不是 traceback

我的想法是两份报告,一份给开发,输出的报告中的错误信息是业务相关的错误
一份给测开,是含有 traceback 的错误

测开的不用改
但是如何将报告中输出的错误翻译成业务相关呢?


👆其他人很难看懂

因此,我需要将 logger.error 中的信息输出在报告中,但是不管是 sys.stdout 还是 sys.stderr.都是在控制台输出,而 report 中的输出流其实是 io.StringIO,如何让 report 也能输出部分日志呢?


这是报告中关于输出流的代码

请教一下怎么改,如果需要详细的其他信息,请于评论处问我


↙↙↙阅读原文可查看相关链接,并与作者交流