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

Paul Krause pkrause at investsoftech.com
Sun Jul 26 16:00:31 CEST 2015


My first reaction is to say stop using isDebugEnabled(). You shouldn't need to do that. 

But if you really must, then try using  isDebugEnabled(Marker) with debug(Marker,...). 

Hope this helps,
Paul

> On Jul 26, 2015, at 09:00, Robert Krüger <krueger at lesspain.de> wrote:
> 
> 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
> _______________________________________________
> Logback-user mailing list
> Logback-user at qos.ch
> http://mailman.qos.ch/mailman/listinfo/logback-user


More information about the Logback-user mailing list