我正在使用管道将呼叫发送到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%这为我在使用包含或不包含<fail/>的测试任务时提供了一致的ERRORLEVEL 4264624。
换句话说,我得到的不是ant.bat的状态,而是其他的东西。
这是DOS而不是BASH,所以我无法访问
echo ${PIPESTATUS[0]}有没有一个直接的解决方案,如果没有,我的目标是记录ant的输出,如图所示,并捕获返回代码。
发布于 2012-11-30 00:06:24
您可以使用-logger command line option将ant输出定向到文件。
ant -l <logfile>但这不会同时写入stdout,我猜TEE正在为您做这件事。
要将输出输出到文件和标准输出,您应该能够使用带有log4j配置的Log4jListener来写入控制台和文件。
https://stackoverflow.com/questions/13612217
复制相似问题