2012-08-23 40 views
3

我们正在MSBuild的构建服务器(Jenkins)上构建一个非常大的Visual C++ 2010解决方案(约150个项目,完整构建需要大约一个小时)。不幸的是,当一个项目失败时,很难找出哪些原因和原因,因为控制台日志很长,错误很难找到。好的MSbuild日志格式化程序?

是否有一个很好的msbuild日志解析器或msbuild记录器,很好地列出所有失败的项目和错误消息?迄今为止我们发现的最好的是Warnings Plugin,但在很多情况下这几乎没有用。

回答

8

我发现Log Parser Plugin非常有用,但您需要提供自己的解析器文件(在/ jobs/vs_parsing_rules中)。我用下面的,这对于msbuild

error /[Ee]rror *:/ 
error /Error on line/ 
error /error [CM]/ 
error /fatal error/ 
error /unresolved external/ 
error /[aA]ccess is denied/ 
error /aborted/ 
warning /[Ww]arning *:/ 
warning /[Ww]arning C/ 
warning /WARNING/ 
warning /Couldn't/ 
warning /Can't/ 
warning /Cannot/ 
warning /ld.*unsupported/ 
error /[uU]ndefined symbols/ 
warning /[rR]eferenced from/ 
warning /[nN]ot found/ 
warning /exit status/ 
warning /no symbols/ 
error /ERROR[^A-Za-z]/ 
info /INFO/ 
start /BUILD/ 
1

另一个有用的分析规则,对MSBuild的工作效果很好:

# Divide into sections based on project compile start 
start /^------/ 

# Compiler Error 
error /(?i)error [A-Z]+[0-9]+:/ 
error /MSBUILD : (?i)error :/ 
error /\(\d+(,\d+)?\): (?i)error [A-Za-z]*:/ 

# Compiler Warning 
warning /(?i)warning [A-Z]+[0-9]+:/