6

我正在使用ant运行 javac 任务,并使用-Xstdout编译器参数将输出发送到日志文件以用于报告目的,但我希望输出也仍被发送到控制台,以便 hudson 可以捕获它以在屏幕上查看。

有没有办法做到这一点?

4

3 回答 3

11

刚刚遇到了另一个使用记录器任务的替代方案。更接近,因为您不必引入新目标。

<compile >
    <record name="log.txt" action="start"/>
    <javac ...
    <record name="log.txt" action="stop"/>
<compile/>
于 2009-08-14T01:12:30.517 回答
2

使用带有输出属性的 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>
于 2009-08-12T07:04:17.500 回答
0

您可以在命令行上的任何进程上使用 tee 来输出到控制台和文件:

>myprocess.sh | tee myprocess.log

将 myprocess.sh 的输出打印到控制台和 myprocess.log。

于 2009-08-05T21:59:00.697 回答