I'm working on a maven project and I use slf4j to perform logging but my problem is my logback.xml
configuration is not loaded and it won't take effect on my project. My logback.xml
is placed in src/main/resources
folder
Dependencies:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${jcloverslf4j.version}</version>
</dependency>
logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE XML>
<configuration>
<!-- Appenders -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder
by default -->
<encoder>
<pattern>[%d{dd-MM-yyyy HH:mm:ss.SSS}] [%-5level] [%logger{36}.%M\(%line\)] - %msg %n</pattern>
</encoder>
</appender>
<!-- Application logger -->
<logger name="com.example">
<level value="info" />
</logger>
<!-- Root Logger -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Main class:
public class Main {
private static Logger logger = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
logger.trace("hi");
logger.debug("hi");
logger.info("hi");
logger.warn("hi");
logger.error("hi");
}
}
Expected:
09:34:27.298 [main] INFO com.example.entry.Main - hi
09:34:27.298 [main] WARN com.example.entry.Main - hi
09:34:27.298 [main] ERROR com.example.entry.Main - hi
Output:
09:34:27.296 [main] DEBUG com.example.entry.Main - hi
09:34:27.298 [main] INFO com.example.entry.Main - hi
09:34:27.298 [main] WARN com.example.entry.Main - hi
09:34:27.298 [main] ERROR com.example.entry.Main - hi
Problem solved by deleting jar files from .m2 directory