title: How to configure Logback to filter out anything that does not have a specific marker
body: <p>This must be a simple thing, but I am not getting it.</p>
  
  <p>I have a marker, say "performance" that I use when logging. Also, I often use isDebugEnabled() etc. when log messages become expensive to build.</p>
  
  <p>Now I want to configure logback that I can do these two things:</p>
  
  <p>1) Log all statements in Logger foo.Bar that are debug or higher and use the marker "performance" </p>
  
  <p>2) Log all statements across all Loggers that are debug or higher and use the marker "performance" </p>
  
  <p>To achieve 1) I tried this:</p>
  
  <pre><code>&lt;turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter"&gt;
    &lt;Marker&gt;index-control-flow&lt;/Marker&gt;
    &lt;OnMatch&gt;ACCEPT&lt;/OnMatch&gt;
  &lt;/turboFilter&gt;
  
  &lt;logger name="foo.Bar" level="DEBUG"/&gt;
  </code></pre>
  
  <p>Then also all log messages that are not tagged with this marker appear in the log.</p>
  
  <p>To achieve 2) I tried omitting the logger line above and got only log messages with the marker, however, all log messages protected by a check of isDebugEnabled() are omitted.</p>