Mike, I've modified the XmlLogger locally, to use the following xml layout to report build failures :
for build exceptions : <failure type="build"> <message></message> <location> <filename></filename> <linenumber></linenumber> <columnnumber></columnnumber> </location> (if location information is available) <stacktrace></stacktrace> <failure type="build|internal"> nested exception </failure> </failure> for internal errors : <failure type="internal"> <message></message> <stacktrace></stacktrace> <failure type="build|internal"> nested exception </failure> </failure> However, I'm still not sure I like it all that much eg. should we use elements named <builderror> and <internalerror> instead of using failure type="build|internal" ? Could be better as an internal error will never have a location node ... In that case i'd add a type element containing the full name of the type of the exception that was thrown ... eg. <builderror> <type>NAnt.Core.BuildException</type> <message><![CDATA[Unable to copy file xxx.]]></message> <location> <filename>D:\CVS\nant\test-xmllogger.xml</filename> <linenumber>15</linenumber> <columnnumber>3</columnnumber> </location> <stacktrace> <![CDATA[ at NAnt.Core.Tasks.FailTask.ExecuteTask() in D:\CVS\nant\src\NAnt.Core\Tasks\FailTask.cs:line 138 at NAnt.Core.Task.Execute() in D:\CVS\nant\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in D:\CVS\nant\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in D:\CVS\nant\src\NAnt.Core\Project.cs:line 768 at NAnt.Core.Project.Execute() in D:\CVS\nant\src\NAnt.Core\Project.cs:line 730 at NAnt.Core.Project.Run() in D:\CVS\nant\src\NAnt.Core\Project.cs:line 793 ]]> </stacktrace> <builderror> and <internalerror> <type>System.ArgumentNullException</type> <message><![CDATA[Argument xx was null.]]></message> <stacktrace> <![CDATA[ at NAnt.Core.Tasks.FailTask.ExecuteTask() in D:\CVS\nant\src\NAnt.Core\Tasks\FailTask.cs:line 138 at NAnt.Core.Task.Execute() in D:\CVS\nant\src\NAnt.Core\Task.cs:line 151 at NAnt.Core.Target.Execute() in D:\CVS\nant\src\NAnt.Core\Target.cs:line 217 at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies) in D:\CVS\nant\src\NAnt.Core\Project.cs:line 768 at NAnt.Core.Project.Execute() in D:\CVS\nant\src\NAnt.Core\Project.cs:line 730 at NAnt.Core.Project.Run() in D:\CVS\nant\src\NAnt.Core\Project.cs:line 793 ]]> </stacktrace> <internalerror> What do you think ? Gert ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Nant-users mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-users