SLF4J
SLF4J(Simple Logging Facade for Java,即Java简单日志记录接口集)是一个日志的接口规范,它对用户提供了统一的日志接口,屏蔽了不同日志组件的差异。这样我们在编写代码的时候只需要看 SLF4J 这个接口文档即可,不需要去理会不同日之框架的区别。而当我们需要更换日志组件的时候,我们只需要更换一个具体的日志组件Jar包就可以了。
logback
- logback自身是在 Log4J 的基础上优化而成的,其运行速度和效率都比 LOG4J 高。
- logback自身实现了 SLF4J 的日志接口,不需要 SLF4J 去做进一步的适配。
- SLF4J + logback支持占位符,方便日志代码的阅读,而 LOG4J 则不支持。
web整合SLF4J + logback
- 导入
logback-classic-1.2.3.jar
、logback-core-1.2.3.jar
、slf4j-api-1.7.25.jar
三个jar包 - 将
logback.xml
日志配置文件放到classpath下
一个logback.xml例子
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 五个日志级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG、TRACE -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<charset>UTF-8</charset>
<!-- encoder负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流。 -->
<encoder>
<Pattern>%d{HH:mm:ss} %-5level %logger{5}[%L] - %msg%n</Pattern>
</encoder>
</appender>
<logger name="com.mercy" level="DEBUG"></logger>
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
</configuration>
参考博文:Java日志框架那些事儿