title: How to change verbosity of the MSBuild task?
body: <p>I'd like to have a different verbosity for the msbuild project invoked from the commandline, and those invoked by the MSBuild task from within the project. For example:</p>
  
  <p>Inside my.proj:</p>
  
  <pre><code>&lt;Target Name=Foo&gt;
    &lt;MSBuild Projects="a.csproj;b.csproj;c.csproj"/&gt;
  &lt;/Target&gt;
  </code></pre>
  
  <p>On the commandline:</p>
  
  <pre><code>msbuild /v:d my.proj
  </code></pre>
  
  <p>now when the MSBuild task builds the .csproj files, it does it with detailed verbosity as well. However I'd want to build it with minimal verbosity.</p>
  
  <p>I know it is possible to invoke msbuild manually like so: </p>
  
  <pre><code>&lt;Target Name=Foo&gt;
    &lt;Exec Command="msbuild /v:m a.csproj"/&gt;
    &lt;Exec Command="msbuild /v:m b.csproj"/&gt;
    &lt;Exec Command="msbuild /v:m c.csproj"/&gt;
  &lt;/Target&gt;
  </code></pre>
  
  <p>or in practice</p>
  
  <pre><code>&lt;Target Name=Foo&gt;
    &lt;Exec Command="msbuild /v:m %(Projectlist.Identity)"/&gt;
  &lt;/Target&gt;
  </code></pre>
  
  <p>and this works well off course, but then I cannot get the functionality of the <code>BuildInParallel</code> switch anymore (I do not think it is possible to invoke msbuild from the commandline with multiple projects without them being contained in a solution?)</p>
  
  <p><strong>Update</strong></p>
  
  <p>I went with Ludwo's option: basically create a custom logger that holds two ConsoleLoggers as a member. One has the verbosity passed at command line, the other one is 'minimal'. The logger registers for all events and passes them to one of the loggers depending on whether a csproj file is currently being built or not. Output looks exactly like normal, except it doesn't include thousands of lines from the csproj files.</p>