[logback-user] How to configure Logback to filter out anything that does not have a specific marker

Robert Krüger krueger at lesspain.de
Sun Jul 26 15:00:08 CEST 2015


This must be a simple thing, but I am not getting it.

I have a marker, say "performance" that I use when logging. Also, I often
use isDebugEnabled() etc. when log messages become expensive to build.

Now I want to configure logback that I can do these two things:

1) Log all statements in Logger foo.Bar that are debug or higher and use
the marker "performance"

2) Log all statements across all Loggers that use the marker "performance"

To achieve 1) I tried this:

<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
  <Marker>index-control-flow</Marker>
  <OnMatch>ACCEPT</OnMatch>
</turboFilter>

<logger name="foo.Bar" level="DEBUG"/>
Then also all log messages that are not tagged with this marker appear in
the log.

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.

I must be missing a general concept here.

Thanks in advance,

Robert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20150726/83694911/attachment.html>


More information about the Logback-user mailing list