title: NLog and final rules
body: <p>Very often I want to exclude logging from a specific chatty logger up to a certain level. Unfortunately, the first of the following rules is final for all levels of that logger, so that the second rule (which is simply my default rule) will not log anything from it:</p>
  
  <pre><code>&lt;logger name="ChattyLogger" maxlevel="Warn" writeTo="blackhole" final="true" /&gt;
  
  &lt;logger name="*" minlevel="Info" writeTo="default" /&gt;
  </code></pre>
  
  <p>One possibility is to use filters instead:</p>
  
  <pre><code>&lt;logger name="ChattyLogger" writeTo="blackhole"&gt;
    &lt;filters&gt;
      &lt;when condition="level&amp;lt;=LogLevel.Warn" action="IgnoreFinal" /&gt;
    &lt;/filters&gt;
  &lt;/logger&gt;
  
  &lt;logger name="*" minlevel="Info" writeTo="default" /&gt;
  </code></pre>
  
  <p>But the syntax is ugly, especially the length and the need to escape the condition expression.</p>
  
  <p>Since this seems like such a common requirement, I'm wondering if I overlooked something.</p>
  
  <p>I'm using nlog under Silverlight, but I presume that shouldn't matter.</p>