logback一般与Slf4j结合起来使用。
Slf4j全称Simple Logging Facade for Java,不是具体的日志解决方案,只服务于各种各样的日志系统(比如log4j、log4j2、logback)。
logback日志框架的使用主要有三步。
1.在pom.xml中添加依赖
依赖配置如下所示:
<!-- slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${logback.version}</version>
</dependency>
主要就是添加slf4j和logback三个核心包。
2.添加配置文件logback.xml
默认内容例如下所示:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
需要注意的是,编译期间,完成slf4j的绑定以及logback配置文件的加载。slf4j会在classpath中寻找org/slf4j/impl/StaticLoggerBinder.class(会在具体的日志框架如log4j、logback等中存在),找到并完成绑定;同时,logback也会在classpath中寻找配置文件,先找logback.configurationFile、没有则找logback.groovy,若logback.groovy也没有,则找logback-test.xml,若logback-test.xml还是没有,则找logback.xml,若连logback.xml也没有,那么说明没有配置logback的配置文件,那么logback则会启用默认的配置(日志信息只会打印在控制台)。
3.使用logger
使用案例如下所示:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TestBean {
private static Logger logger = LoggerFactory.getLogger(TestBean.class);
public void log(String message) {
logger.debug("debug{}",message);
logger.warn("warn{}",message);
logger.info("info{}", message);
logger.error("error{}", message, new Exception("error test"));
}
}
至此,基本的案例结束,可在terminal查看到打印的日志信息。