如何为TFSBuild.proj添加时间戳?

时间:2011-06-27 01:24:47

标签: logging msbuild tfs2010 timestamp tfsbuild

我有一个TFSBuild.proj文件,我需要为统计信息添加日期/时间日志记录,即构建的哪些部分需要花费最多的时间以及我们在哪里可以改进流程。

构建将日志输出到BuildLog.txt。我使用以下标记在BuildLog.txt文件中获取自定义消息,但我需要为每条消息添加时间戳。

<Message Text="Debug: BeforeGet start: StartTimeGoesHere"></Message>
<Message Text="Debug: BeforeGet end: EndTimeGoesHere"></Message>

是否可以在邮件中获取时间戳?是否有一个获取当前日期时间值的MSBuild变量?在上面的示例中,StartTimeGoesHere将类似于“01 Jan 2001 14:10:12”,而EndTimeGoesHere将类似于“2001年1月1日14:14:43”。

2 个答案:

答案 0 :(得分:8)

只要您使用的是MSBuild 4.0,就不需要任何第三方支持。只需在目标中使用属性函数,

<PropertyGroup>
  <DateTimeNow>$([System.DateTime]::Now)</DateTimeNow>
</PropertyGroup>

将为$(DateTimeNow)创建以下值,

6/26/2011 9:00:27 PM

答案 1 :(得分:1)

您需要使用MS Build社区任务。它有一个时间任务,可以提供你想要的东西。

http://msbuildtasks.tigris.org/

 <Time Format="yyyy-MM-dd hh:mm:ss">
    <Output TaskParameter="FormattedTime" PropertyName="currentTime" />
 </Time>

您需要设置开始和结束时间,并且需要注意调用任务的位置。