msbuild should output "why built" or "why out-of-date" messages at Normal verbosity
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
Currently, to get msbuild to output messages explaining why targets are out of date and why a project needed to build requires the user to set log verbosity to the highest level: diagnostic.
This is frequently the only reason one needs to turn on diagnostic verbosity. I would suggest promoting 'why out-of-date' messages to Normal verbosity. At the very least Detailed.
Example:
```
3>------ Up-To-Date check: Project: corebuild_buildlayers_tests, Configuration: Debug x64 ------
3>Project is not up-to-date: build input 'c:\repos\corebuild\buildtools\src\corebuild\dbb\buildlayers\tests\testdata\fullbuildlayers.json' was modified after the last build finished.
```
I turned on diagnostic mode so that I could see the latter of these two lines. However, diagnostic logging added 24940 other lines to the output. In normal mode, 25 lines are logged. In minimal mode, 2 lines. So in order to see that one additional "not up-to-date" line on top of normal mode, I had to increase verbosity by 1000x. By default I'm in Minimal mode, in which case that one additional line require scaling up by 12000x.
"Why did this project build" is probably the single most important thing to know about the project, after the result. As such, it can even be argued that it's important enough for Minimal mode. Maybe it deserves an orthogonal setting of its own.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.