参考文章
SLF4J的文档
- SLF4J(Simple Logging Facade for Java):日志门面
- Logback:日志实现
<dependency> <groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.3.6</version>
</dependency>
上面一个依赖坐标就可以使用SLF4J+Logback这个日志门面实现组合,为什么,可以看logback-classic依赖里面包含的依赖logback-core
和slf4j-api
。
Logback’s architecture is quite generic so as to apply under different circumstances. At present time, logback is divided into three modules, logback-core, logback-classic and logback-access.
logback
当前分成三个模块:logback-core
,logback-classic
和logback-access
。
logback-core
是其它两个模块的基础模块。
logback-classic
模块可以同化为 log4j 1.x
的显着改进版本。
此外,logback-classic
本身实现了SLF4J API
,因此您可以轻松地在 logback
和其他日志框架(例如 log4j 1.x
或 java.util.logging (JUL)
)之间来回切换。
logback-access
模块与 Servlet 容器(例如 Tomcat 和 Jetty)集成,以提供 HTTP 访问日志功能。
SLF4J 日志桥接器
slf4j-simple-1.7.30.jar:pom直接引入,就可以使用了,包含了slf4j-api模块及其简单的日志实现。
logback-classic-1.0.13.jar: pom引入,相当于引入了slf4j-api模块和logback-core模块。
In addition to logback-classic-1.4.6.jar, this will pull in slf4j-api-2.0.9.jar as well as logback-core-1.4.6.jar into your project.
使用Slf4j时如何桥接遗留的api
在实际环境中我们经常会遇到不同的组件使用的日志框架不同的情况,例如Spring Framework使用的是日志组件是Commons Logging,XSocket依赖的则是Java Util Logging。
当我们在同一项目中使用不同的组件时应该如果解决不同组件依赖的日志组件不一致的情况呢?现在我们需要统一日志方案,统一使用Slf4j
,把他们的日志输出重定向到Slf4j
,然后Slf4j
又会根据绑定器把日志交给具体的日志实现工具。
Slf4j
带有几个桥接模块,可以重定向Log4j
,JCL
和java.util.logging
的Api到Slf4j
。
。