抑制NAnt删除任务的日志输出

9
我们目前正在使用带有NAnt 0.85构建脚本的CruiseControl.NET,虽然一切正常,但日志文件对我来说有点太冗长了。
特别是,在使用任务删除文件夹时,我总是在日志中看到[delete] Deleting directory条目。
这个任务在foreach循环中运行,导致出现了大量的条目(特别是如果文件夹包含文件-每个删除都会被报告),这只是在日志中堆积了垃圾并使其难以阅读,需要不断滚动。我已经添加了许多任务来报告脚本的进展情况,所以不需要所有这些“废话”。
我在任务上使用了verbose="false"属性,虽然这可以抑制文件删除消息(这极大地提高了日志的可读性),但仍会报告文件夹删除。我尝试了在foreach上使用verbose属性,但没有任何改变。
有人知道如何抑制这些消息吗?还是我必须接受它们..?

1
我也对答案很感兴趣。顺便说一下,verbose="false" 既不能让 <copy> 也不能让 <mkdir> 闭嘴。 - The Chairman
我认为详细模式消除了大多数消息,但不包括那些“树顶上”的消息。因此,虽然我看不到每个文件的复制,但会得到以下信息:“[copy] 将1436个文件复制到'C:\inetpub\wwwroot<appName>'。” - DilbertDave
1个回答

10

我之前研究过这个问题,它涉及到NAnt的内部机制以及项目日志阈值无法得到正确控制(可以说是一个bug)。已经有人讨论出了一个非侵入性的解决方法,即创建和使用一个名为LogLevel的新任务。

一个使用案例如下:

<loglevel level="None">
    <delete file="helloworld.txt"/>
</loglevel>

最早讨论此问题的帖子来自Shh, Keep it Quiet,由Jay Flowers撰写。随后Rory Primrose对该帖子进行了详细追踪报道。请务必查看评论,因为其中透露了非常有用的信息。


今天放假,我得星期一再查看。谢谢,Scott。 - DilbertDave
排好序了!我尝试了Jay Flowers的链接,但对我没用。然而,Rory的帖子解决了这个问题,现在我终于可以清除所有这些“废话”的日志了。干杯! - DilbertDave
跟进链接不再有效,但答案仍然非常有用。 - Mardok
跟进链接在这里:http://www.neovolve.com/2008/01/16/loglevel-nant-task/ - legalize

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接