【发布时间】:2009-08-05 21:55:07
【问题描述】:
我正在使用 ant 运行 javac 任务,并使用 -Xstdout 编译器参数将输出发送到日志文件以用于报告目的,但是我希望输出仍然被发送到控制台,以便 hudson 可以捕获它以进行屏幕查看。
有没有办法做到这一点?
【问题讨论】:
我正在使用 ant 运行 javac 任务,并使用 -Xstdout 编译器参数将输出发送到日志文件以用于报告目的,但是我希望输出仍然被发送到控制台,以便 hudson 可以捕获它以进行屏幕查看。
有没有办法做到这一点?
【问题讨论】:
刚刚遇到另一个使用记录器任务的替代方法。 更接近,因为您不必引入新目标。
<compile >
<record name="log.txt" action="start"/>
<javac ...
<record name="log.txt" action="stop"/>
<compile/>
【讨论】:
<compile>标签是什么意思?
使用带有输出属性的ant任务来调用具有javac任务的目标。
例如
<target name="javac" depends="libs" description="Compile java source">
<mkdir dir="${classes.dir}" />
<ant target="actual-javac" output="javac.log"/>
</target>
<target name="actual-javac">
<javac .../>
</javac>
</target>
【讨论】:
您可以在命令行上的任何进程上使用 tee 来输出到控制台和文件:
>myprocess.sh | tee myprocess.log
会将 myprocess.sh 的输出同时打印到控制台和 myprocess.log。
【讨论】: