logback是slf4j推荐的日志后端,毕竟出自同一家公司。
- maven依赖:(只需要这两个依赖即可)
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.5</version>
</dependency>
- 在classpath下放置配置文件logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
- 新的特性
目前slf4j的api可以分为两大类,一类是常规的日志打印,另一种是流式打印。
slf4j中的流式api是个新产物,引入流式api后,给用户的日志打印提供了一种新颖的选择。
不过要注意的是,关于流式接口的日志打印,依赖后端的具体日志实现。例如笔者此时使用的 slf4j-api 2.0.5 + logback 1.4.5 的默认配置,并没有实现关于 KeyValue 形式的日志事件的打印。 - 其他注意事项:
slf4j + log4j2 方案:
log4j2不支持properties格式的配置文件了,需要log4j2.xml配置文件