Logback Configuration: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=Internal= * Logback") |
|||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
* [[Logback#Subjects|Logback]] | * [[Logback#Subjects|Logback]] | ||
=Overview= | |||
=Configuration File Lookup Sequence= | |||
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. |
Latest revision as of 21:51, 20 December 2018
Internal
Overview
Configuration File Lookup Sequence
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 logback-test.xml in the classpath.
- If no such file is found, try to find a file called logback.groovy in the classpath.
- If no such file is found, try to find a file called logback.xml 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 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.
- 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.