Following example shows how to use logback implementation with JCL API.
<project .....> <modelVersion>4.0.0</modelVersion> <groupId>com.logicbig.example</groupId> <artifactId>spring-logback-with-jcl-api</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>6.2.12</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.3.16</version> </dependency> <!-- jcl-over-slf4j is not needed in Spring 5 and later versions --> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.7.25</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.14.1</version> <configuration> <source>25</source> <target>25</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build></project>
package com.logicbig.example; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class MyBean { private static Log log = LogFactory.getLog(MyBean.class); public void doSomething() { log.info("doing something"); } }
package com.logicbig.example; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.ArrayList; import java.util.Collections; @Configuration public class ExampleMain { @Bean public MyBean myBean() { return new MyBean(); } public static void main(String[] args) { ConfigurableApplicationContext context = new AnnotationConfigApplicationContext(ExampleMain.class); MyBean bean = context.getBean(MyBean.class); bean.doSomething(); } }
25-11-11 22:35:16:856 INFO com.logicbig.example.ExampleMain.main() c.l.e.MyBean:10 - doing something
Dependencies and Technologies Used:
Version compatibilities of spring-context with this example:
Versions in green have been tested.