打印Ant目标执行时间

时间:2010-02-12 07:20:02

标签: ant

我想打印每个Ant目标及其相关目标的执行时间。

<target name="target1" depends="target2, target3"> 
....
</target>

运行时应显示以下输出

Target 2 - x seconds
Target 3 - y seconds
Target 1 - z seconds

有关如何实现这一目标的任何建议吗?

4 个答案:

答案 0 :(得分:46)

自Ant 1.8.0起,您可以使用profilelogger来执行此操作。

ant -logger org.apache.tools.ant.listener.ProfileLogger target

生成类似

的输出
  

目标aTarget:1月22日星期四开始   09:01:00 CET 2009

     回声:开始于1月22日星期四09:01:00 CET   2009年        [echo] echo-task

     回复:finishedThu 1月22日09:01:00 CET   2009年(250毫秒)

     

zip:从1月22日星期四09:01:00开始   2009年         [zip]建筑拉链:... \ my.zip

     

zip:finishedThu Jan 22 09:01:01 CET   2009(1313ms)

     

目标aTarget:已于1月22日结束   09:01:01 CET 2009(1719ms)

答案 1 :(得分:8)

使用Ant附加任务集合中的一个侦听器:

或检查他们的来源,并推出自己的听众。

答案 2 :(得分:3)

如果你正在使用ant-contrib,那么就有一个秒表任务。将它放在每个目标的顶部和底部,它将报告已用时间和总时间。

http://ant-contrib.sourceforge.net/tasks/tasks/index.html

答案 3 :(得分:1)

您可以使用TStamp任务来标记其他任务。

见这里:http://ant.apache.org/manual/Tasks/tstamp.html

有一些扩展/插件可以为您完成所有操作而无需执行此操作。如果没有人首先提出它,它会争分夺秒。