[logback-user] Always log, regardless of level, but not as ERROR

Ceki Gulcu ceki at qos.ch
Tue Sep 15 16:38:06 CEST 2009


You can mark a logging statement as "ALWAYS" and have a turbo filter act upon it.

Here is how you would mark a logging statement with the ALWAYS marker:

   Marker ALWAYS = MarkerFactory.getMarker("ALWAYS");

   logger.info(ALWAYS, "your message goes here");

You can than add a MarkerFilter to your logback.xml config file. This turbo 
filter would look for the ALWAYS marker and matching occurrences would be 
automatically logged (i.e. accepted) regardless of logging levels.

   <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">


For more details on TurboFilters please see



laboo wrote:
> I'm looking for a way to always log a message regardless of the current level
> of logger.
> My application allows the user to change the level via JMX and I always want
> to log a message that says, "The level was changed from X to Y".
> I *could* accomplish this by specifying the highest level, ERROR, but it's
> not an error, and I don't want it to show up as one.
> In log4j, I was able to accomplish this by using the log() method with level
> OFF (strangely enough). I tried doing something similar with logback's level
> ALL, but it's not accepted as valid level to the log() method.
> Is there a different/better way to accomplish this?
> Thanks,
> Laboo

Ceki Gülcü
Logback: The reliable, generic, fast and flexible logging framework for Java.

More information about the Logback-user mailing list