When default configuration does not exists (logback.groovy, logback-test.xml, logback.xml), LogBack will read system property to get the configuration file location:

java -Dlogback.configurationFile=/path/to/config.xml com.stefanauwyang.ApplicationClass

 

LogBack can be configured to automatically detect the change in configuration file:

<configuration scan="true" scanPeriod="30 seconds" >
  ...
</configuration>

Without the scanPeriod attribute, default period 60 seconds will be set automatically.

LogBack provides a servlet to check the LogBack logging status:

<servlet>
  <servlet-name>ViewStatusMessages</servlet-name>
  <servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>ViewStatusMessages</servlet-name>
  <url-pattern>/lbClassicStatus</url-pattern>
</servlet-mapping>

We can also print LogBack status to console by configuring this listener through Java code.

LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); 
StatusManager statusManager = lc.getStatusManager();
OnConsoleStatusListener onConsoleListener = new OnConsoleStatusListener();
statusManager.add(onConsoleListener);

… or from config file …

<configuration>
  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
  ...
</configuration>
Posted in Uncategorized.