Build 是否有办法将输出记录到文件中,并使用waf在控制台/终端上显示?

Build 是否有办法将输出记录到文件中,并使用waf在控制台/终端上显示?,build,logging,waf,Build,Logging,Waf,在深入研究代码并了解Python的日志模块(这看起来就是waf使用的模块)之前,我想看看是否有人知道这个问题的快速答案。我希望在控制台/终端上显示生成的输出,并将其记录到文件中。我(不幸地)在windows环境中,我不想使用mtee,因为它会丢失漂亮的彩色文本。有没有我不知道的waf内置方式?您可以尝试将其打印到日志文件和标准输出: import sys, logging from waflib import Logs bld.logger = Logs.make_logger('test.lo

在深入研究代码并了解Python的日志模块(这看起来就是waf使用的模块)之前,我想看看是否有人知道这个问题的快速答案。我希望在控制台/终端上显示生成的输出,并将其记录到文件中。我(不幸地)在windows环境中,我不想使用mtee,因为它会丢失漂亮的彩色文本。有没有我不知道的waf内置方式?

您可以尝试将其打印到日志文件和标准输出:

import sys, logging
from waflib import Logs
bld.logger = Logs.make_logger('test.log', 'build')
hdlr = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter('%(message)s')
hdlr.setFormatter(formatter)
bld.logger.addHandler(hdlr)

分配给
bld.logger
有副作用(比如启用参数到Context.exec_命令的输出)