TfsBuild.rsp and Logging Verbosity in Orcas
In the 2.0 .NET Framework, MSBuild's default verbosity for its FileLogger was "normal". As such, if you needed diagnostic logging information in a Team Build build (e.g. for debugging an issue with the build process) you needed to add the following to your TfsBuild.rsp file:
/verbosity:diagnostic
-or more briefly-
/v:diag
In the 3.5 .NET Framework, lots of things have changed with respect to the MSBuild file logger. First of all, the default verbosity for the FileLogger is now "diagnostic" rather than "normal". Secondly, the FileLogger now has its own command-line options - /fileLogger (/fl) turns on file logging, while /fileLoggerParameters (/flp) is used to pass parameters into the file logger. So - to set logging versobity back to normal in a Team Build build in Orcas (e.g. when you are not debugging an issue with the build process and want to keep your log files small) you will need to add the following to your TfsBuild.rsp file:
/fileLoggerParameters:verbosity=normal
-or more briefly-
/flp:v=n
Another thing you may notice if you look closely is that Team Build no longer passes too many options to MSBuild directly through the command-line. Instead, we dynamically generate a new copy of TfsBuild.rsp that contains the standard Team Build options followed by whatever you have in your checked in TfsBuild.rsp (if anything). As such, a typical TfsBuild.rsp file on a build machine might look something like this:
### Begin Team Build Generated Arguments ###
/m:4
/nologo
/noconsolelogger
/dl:BuildLogger, <BuildLogger Assembly>;<BuildLogger Parameters>
/fl /flp:logfile=BuildLog.txt;encoding=Unicode;
/p:BuildDefinition="BuildDefinition"
/p:DropLocation="\\MACHINENAME\DropLocation"
/p:BuildProjectFolderPath="$/TeamProject/TeamBuildTypes/BuildDefinition"
/p:BuildUri="vstfs:///Build/Build/1"
/p:TeamFoundationServerUrl="https://tfs:8080"
/p:TeamProject="TeamProject"
/p:SourcesSubdirectory="Sources"
/p:BinariesSubdirectory="Binaries"
/p:TestResultsSubdirectory="TestResults"
/p:SourceGetVersion="C3"
/p:LastGoodBuildLabel=""
/p:LastBuildNumber=""
/p:LastGoodBuildNumber=""
/p:NoCICheckInComment="***NO_CI***"
/p:IsDesktopBuild="false"
/p:TeamBuildRefPath="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies"
/t:EndToEndIterationTFSBuild.proj
### End Team Build Generated Arguments ###
### Begin Checked In TfsBuild.rsp Arguments ###
# This is a response file for MSBuild
# Add custom MSBuild command line options in this file/flp:verbosity=normal
### End Checked In TfsBuild.rsp Arguments ###
Again, if you look carefully here you may notice the /m:4 option at the top of the sample rsp file. This has to do with MSBuild 3.5's new multi-process feature - more on this in a subsequent post!
Comments
- Anonymous
May 08, 2007
Brian Harry on All Orcas Beta 1 downloads are now available. Tan on Resuming Conflict Resolution in Team... - Anonymous
October 02, 2007
The comment has been removed - Anonymous
March 07, 2008
Aaron, this solved my problem with buildlog.txt being enormous after a team build. Thanks! I still have an issue where the number of build steps generated for multiple solutions has blown out from several hundred in TFS 2005 to 3500+ in TFS 2008. Do you know if there's some way yet to turn down the verbosity of what gets logged as a build step? - Anonymous
April 06, 2008
TFS : Control the verbosity of the logging during the build