Logback Configuration: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
(Created page with "=Internal= * Logback")
 
Line 2: Line 2:


* [[Logback#Subjects|Logback]]
* [[Logback#Subjects|Logback]]
=Overview=
Logback can be configured either programmatically or with a XML or Groovy configuration file. These are the steps logback follows while trying to configure itself:
# Try to find a file called <tt>logback-test.xml</tt> in the classpath.
# If no such file is found, try to find a file called <tt>logback.groovy</tt> in the classpath.
# If no such file is found, try to find a file called <tt>logback.xml</tt> in the classpath..
# If no such file is found, service-provider loading facility (introduced in JDK 1.6) is used to resolve the implementation of <tt>com.qos.logback.classic.spi.Configurator</tt> interface by looking up the file <tt>META-INF/services/ch.qos.logback.classic.spi.Configurator</tt> in the class path. Its contents should specify the fully qualified class name of the desired Configurator implementation.
# If none of the above succeeds, logback configures itself automatically using the BasicConfigurator which will cause logging output to be directed to the console. The last step is meant as last-ditch effort to provide a default (but very basic) logging functionality in the absence of a configuration file.
If you are using Maven and if you place the logback-test.xml under the src/test/resources folder, Maven will ensure that it won't be included in the artifact produced. Thus, you can use a different configuration file, namely logback-test.xml during testing, and another file, namely, logback.xml, in production.

Revision as of 21:51, 20 December 2018

Internal

Overview

Logback can be configured either programmatically or with a XML or Groovy configuration file. These are the steps logback follows while trying to configure itself:

  1. Try to find a file called logback-test.xml in the classpath.
  2. If no such file is found, try to find a file called logback.groovy in the classpath.
  3. If no such file is found, try to find a file called logback.xml in the classpath..
  4. If no such file is found, service-provider loading facility (introduced in JDK 1.6) is used to resolve the implementation of com.qos.logback.classic.spi.Configurator interface by looking up the file META-INF/services/ch.qos.logback.classic.spi.Configurator in the class path. Its contents should specify the fully qualified class name of the desired Configurator implementation.
  5. If none of the above succeeds, logback configures itself automatically using the BasicConfigurator which will cause logging output to be directed to the console. The last step is meant as last-ditch effort to provide a default (but very basic) logging functionality in the absence of a configuration file.

If you are using Maven and if you place the logback-test.xml under the src/test/resources folder, Maven will ensure that it won't be included in the artifact produced. Thus, you can use a different configuration file, namely logback-test.xml during testing, and another file, namely, logback.xml, in production.