2010-02-12 18 views
21

Desidero stampare il tempo di esecuzione richiesto per ogni singolo target Ant e i relativi target dipendenti.Stampa Tempo di esecuzione dell'obiettivo di formica

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

Quando eseguito dovrebbe mostrare seguente output

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

Qualche suggerimento su come raggiungere questo obiettivo?

risposta

41

Dal momento che Ant 1.8.0 è possibile utilizzare uno profilelogger per fare questo.

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

produce un output come

target aTarget: iniziato giovedì 22 gennaio 09:01:00 CET 2009

eco: iniziato giovedì 22 gennaio 09:01:00 CET [echo] echo-task

echo: finishedThu 22 gennaio 09:01:00 CET 2009 (250 ms)

zip: iniziato gio gen 22 09:01:00 CET [zip] edificio Codice postale: ... \ my.zip

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

target aTarget: finishedThu 22 gennaio 09:01:01 CET 2009 (1719ms)

1

C'è l'attività TStamp che è possibile utilizzare per demark le altre attività.

vedere qui: http://ant.apache.org/manual/Tasks/tstamp.html

C'è qualche estensione/addon che lo farà tutto per voi, senza dover fare questo. Scrabble se lo troverà per primo se nessuno lo inventerà.

-13

I logger personalizzati non sono difficili da scrivere.

8

Utilizzare uno degli ascoltatori provenienti da collezioni attività add-on Ant:

o controllare le loro fonti, e rotolare il proprio ascoltatore.