CCNET:我可以获得比<task name =“echo”>?</task>更有意义的日志记录

时间:2012-11-20 13:36:37

标签: logging cruisecontrol.net nant

有意义的任务名称如果我为我的CCNET项目View the Build Log,我可以看到像

这样的消息
<task name="echo">
  <message level="Info"><![CDATA[Done: clean]]></message>
  <duration>0</duration>
</task>

<task name="property">
  <duration>15.6247</duration>
</task>

在某些情况下,我发现这些是为NANT配置的target任务。有没有办法配置我的NANT文件或我的CC配置,以便从这些任务中获得更有意义,更容易识别的日志消息?

我正在使用版本:1.5.6804.1。


很高兴:

时间戳所有上获取这些或更好的时间戳的时间戳也是很好的。

构建日志转换是否有一种简单的方法(例如,内置的,不是从头开始)在Web Dashboard上获得转换/更好的构建日志视图? (我想我可以写一个XSL,但我很奇怪,我得到一个纯xml视图,我错过了什么?)

输出吸收我还感觉到我从任务或第三方可执行文件回显的某些行在被写入日志之前被CC解析并以某种方式被CC剥离。 CC的一部分是否正在做这样的事情?

最佳做法或者,我做错了什么?

2 个答案:

答案 0 :(得分:1)

自定义构建协议格式
通常,您不直接盯着构建协议,只有在调试xsl转换时才将其转换为更人性化的html。也就是说你可以编写自己的nant logger,将-logger:your.logger.class -logfile:mynantlog.xml添加到nant构建参数中,然后将mynantlog.xml文件合并到构建日志中。

<强>时序
会很高兴,但目前不可能。您必须编写自己的记录器或在任何地方洒<tstamp verbose="true" />

构建日志转换
我想说编写XSL比用脚本语言编写自己的转换更容易。仪表板已在xsl子目录中附带了一些有用的转换,您可以查看并调整它们,例如(dashboard.config)

  <xslReportBuildPlugin description="NAnt Output" actionName="BuildReportNAnt"  xslFileName="xsl\NAnt.xsl"/>
  <xslReportBuildPlugin description="NAnt Timings" actionName="BuildReportNAntTimings" xslFileName="xsl\NAntTiming.xsl"/>
  <xslReportBuildPlugin description="Warning and Errors" actionName="BuildReportWE" xslFileName="xsl\compile.xsl"/>

输出吸收
不,CC不会过滤您的构建协议。如果在调用另一个NAnt实例时丢失输出(使用<exec><nant>)尝试更新到更新的版本,那么你的版本已经很老了。

最佳做法
如果你坚持使用CC.net和NAnt,请深入研究XML,XPath和XSL。

答案 1 :(得分:0)

有一个'内置'nant xsl'插件'。

通过仪表板转到管理,您应该可以打开它。

至于其余部分,没有内置的插件来做你想要的(时间戳,整理输出)

我没有注意到Nant输出消失,或者没有进入构建日志。