带有数据和时间戳的nant日志

时间:2008-11-30 13:30:48

标签: nant

如何在命令行中运行NAnt脚本并获取日志文件中每个任务的时间?

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

这会产生控制台输出,但我看不到任何计时信息。

我希望每条日志消息都以datatime为前缀。

2 个答案:

答案 0 :(得分:9)

您可以使用tstamp task显示当前日期/时间。只需将它包含在您想要定时信息的任何地方。它不会为每一行添加时间戳前缀,但至少可以计算一些战略要点。

<tstamp />

答案 1 :(得分:5)

以下是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>