如何在命令行中运行NAnt脚本并获取日志文件中每个任务的时间?
using nant <record> task or
NAnt -buildfile:testscript.build testnanttarget
这会产生控制台输出,但我看不到任何计时信息。
我希望每条日志消息都以datatime为前缀。
答案 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>