1

我正在使用管道来调用 apache ant

SET ERRORLEVEL=
call C:\ant\bin\ant.bat %* |TEE build-logs\build-log-%yyyy%%mm%%dd%.%hh%%nn%%ss%.txt
echo ERRORLEVEL %ERRORLEVEL%

ERRORLEVEL 4264624当我使用带有或不带有测试任务的测试任务时,这给了我一个一致性<fail/>

换句话说,我没有得到 ant.bat 的状态,而是其他的。

这是 DOS 而不是 BASH,所以我无权访问

echo ${PIPESTATUS[0]}

有没有直接的解决方案,如果不是,我的目标是如图所示记录 ant 输出,并捕获返回代码。

4

1 回答 1

0

-logger 您可以使用命令行选项将 ant 输出定向到文件。

ant -l <logfile>

但这也不会写入标准输出,我猜 TEE 正在为你做。

要将输出输出到文件和标准输出,您应该能够使用带有 log4j 配置的Log4jListener来写入控制台和文件。

于 2012-11-29T16:06:24.193 回答