【问题标题】:CCNET: Can I get more meaningful logging than <task name="echo">?CCNET:我能得到比<task name="echo">更有意义的日志吗?
【发布时间】:2012-11-20 13:36:36
【问题描述】:

有意义的任务名称如果我为我的 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>

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

我正在使用版本:1.5.6804.1。


很高兴拥有:

时间戳everything 上获得这些或更好的时间戳也是很好的。

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

输出吸收 我也觉得我从任务或第 3 方可执行文件中回显的某些行在写入日志之前被 CC 解析并以某种方式剥离。 CC 中是否有一部分通常会做这样的事情?

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

【问题讨论】:

标签: logging cruisecontrol.net nant


【解决方案1】:

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

时机
会很高兴,但目前不可能。您将不得不编写自己的记录器或到处撒&lt;tstamp verbose="true" /&gt;

构建日志转换
我想说编写 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 实例(使用 &lt;exec&gt;&lt;nant&gt;)时丢失了输出,请尝试更新到较新的版本,那么您的输出已经很旧了。

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

【讨论】:

  • output absorption:我找到了一个例子。如果我从 “[1]”开头的 python 脚本发出一行,由于(我猜)封闭的方括号,它会被剥离。
【解决方案2】:

有一个“内置”nant xsl“插件”。

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

至于其余部分,没有内置插件可以满足您的需求(时间戳、整理输出)

我没有注意到 Nant 的输出消失了,或者没有出现在构建日志中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多