2008-11-30 2 views
6

Wie Sie NAnt-Skripte in der Befehlszeile ausführen und die Zeiten jeder Aufgabe in der Protokolldatei abrufen?nant Protokolle mit Daten und Zeitstempel

using nant <record> task or 
NAnt -buildfile:testscript.build testnanttarget 

Dies erzeugt Konsolenausgabe, aber ich kann keine Timing-Informationen sehen.

Alles, was ich will jede Log-Nachricht Präfix mit Datentime.

Antwort

9

Sie können das tstamp task verwenden, um das aktuelle Datum/die aktuelle Uhrzeit anzuzeigen. Schließen Sie es einfach überall dort ein, wo Sie Timing-Informationen wünschen. Es wird nicht jede Zeile mit einem Zeitstempel versehen, aber zumindest können Sie einige strategische Punkte einplanen.

<tstamp /> 
4

Hier ist eine Probe von tstamp

<echo> 
    ----------------------------------------------------------------------------------------------------------------- 
    ----------------------------------------------------------------------------------------------------------------- 
    TASK : INITIALIZE 
    ----------------------------------------------------------------------------------------------------------------- 
    ----------------------------------------------------------------------------------------------------------------- 
    </echo> 

    <loadtasks assembly="nantcontrib-0.85/bin/NAnt.Contrib.Tasks.dll" />  
    <!-- http://www.basilv.com/psd/blog/2007/how-to-add-logging-to-ant-builds --> 
    <tstamp>    
     <formatter property="timestamp" pattern="yyMMdd_HHmm"/> 
    </tstamp> 

    <property name="build.log.filename" value="build_${timestamp}.log"/> 

    <echo message="build.log.filename: ${build.log.filename}" /> 

    <record name="${build.log.dir}/${build.log.filename}" action="Start" level="Verbose"/>   

    <echo message="Build logged to ${build.log.filename}"/> 

    <echo message="Build Start at: ${datetime::now()}" /> 

</target>