What is output at the different MSBuild output verbosity levels?
What is the definition of what is output at the different levels of MSBuild build 开发者_如何学Gooutput verbosity?
- Quiet
- Minimal
- Normal
- Detailed
- Diagnostic
There exists the same question on social.msdn:
Quiet: only shows the result of your build.
Minimal: shows some configurations of your msbuild, and the CSC task.
Normal: This will show all the targets and its mainly steps.
Details: In addition to normal, this flag shows the task and it's implementation within the each target.
Diagnostic: Contains all the information that a MSBuild need and produce, it's switches, parameteres, prerequisites and etc. The input parameter of the target and task, and also contains the value of the input and output parameter, the detail steps of the task execution. The time execution for each task.
See how default logger uses verbosity here.
From learn.microsoft.com
Verbosity Settings
The following table shows how the log verbosity (column values) affects which types of message (row values) are logged.
Something that I could not find in the MS docs, but worked out through experimentation: at -v:m
(i.e. minimal verbosity) you can still get the cmd for each step echoed by adding -clp:ShowCommandLine
. That combo is substantially quieter than -v:n
("normal" verbosity, i.e. the default), but still gives you the cmd echo. At -v:q
however, there's no cmd echo even with -clp:ShowCommandLine
added. Sadly, -v:q
doesn't actually suppress the tool banner of msbuild itself, you also have to add -nologo
for that. (See my answer to another Q for the experiments/details on this affair.)
Also, as someone else discovered: at minimal and quiet verbosity you'll get no stdout from the tools, meaning msbuild suppresses that passthrough, otherwise present at normal and above verbosity. I'm not sure about stderr output from the tools, i.e. whether -v:m
suppresses that too or if you need -v:q
to suppress stderr passthrough. That needs an additional experiment...
精彩评论