2010-02-12 9 views
21

Quiero imprimir el tiempo de ejecución tomado para cada objetivo Ant individual y sus objetivos dependientes.Impresión del tiempo de ejecución del objetivo Ant

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

Cuando ejecute debe mostrar siguiente salida

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

¿Alguna sugerencia sobre cómo lograr esto?

Respuesta

41

Desde Ant 1.8.0 puedes usar profilelogger para hacer esto.

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

Produce una salida como

Objetivo aDestino: Jue Ene 22 de comenzado 09:01:00 CET 2009

eco: comenzó Jue Ene 22 de 2009 09:01:00 CET [eco] eco-tarea

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

postal: comenzó Jue Ene 22 09:01:00 CET 2009 zip [postal] Edificio: ... \ my.zip

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

Objetivo aDestino: finishedThu Ene 22 de 09:01:01 CET 2009 (1719ms)

1

Existe la tarea TStamp que puede usar para marcar sus otras tareas.

Ver aquí: http://ant.apache.org/manual/Tasks/tstamp.html

Existe cierta extensión/addon que lo hará todo para usted sin tener que hacer esto. Lo buscaré si no se le ocurre a nadie primero.

-13

Los registradores personalizados no son difíciles de escribir.

8

Utilice uno de los oyentes de colecciones de tareas complemento Ant:

O comprobar sus fuentes, y rodar su propia oyente.

Cuestiones relacionadas