slf4j重定向日志输出

参考资料:
SLF4J与Logback、Log4j1、Log4j2、JCL、J.U.L是如何关联使用的
https://blog.csdn.net/yangzl2008/article/details/81503579
 
slf4j、jcl、jul、log4j1、log4j2、logback大总结
https://my.oschina.net/pingpangkuangmo/blog/410224
 
SLF4J与Logback、Log4j1、Log4j2、JCL、J.U.L是如何关联使用的
https://blog.csdn.net/yangzl2008/article/details/81503579
 
日志API工具有
  • java.util.logging(jdk1.4以后才有日志实现类)
  • Apache log4j
  • logback
  • commons-logging
  • slf4j-api
 
SLF4j是一个桥梁作用,其他的是具体日志工具
通过slf4j将项目中多种不同的日志框架  重定向到 slf4j中,再由slf4j 重定向到 指定的日志框架中。
 
如下:jdk java.util.logging  ==》 重定向 SLF4j  ===》 slf4j-log4j12-version.jar  =====》 log4j.jar ===》输出日志
 
不同的日志重定向到SFL4j的方式
java.util.logging(jdk1.4以后才有日志实现类):jul-to-slf4.jar
apache commons-logging:    jcl-over-slf4j.jar
apache log4j1:    log4j-over-slf4j.jar
apache Log4j2:    log4j-to-slf4j.jar

SLF4j重定向到具体的日志中

 slf4j-jdk14:    slf4j到jdk-logging的桥梁
 slf4j-log4j12:    slf4j到log4j1的桥梁
 log4j-slf4j-impl:    slf4j到log4j2的桥梁
 logback-classic:    slf4j到logback的桥梁
 slf4j-jcl:    slf4j到commons-logging的桥梁

 

当Log4j 1通过slf4j,重定向到logback 输出日志

1、添加依赖
 log4j-over-slf4j(实现log4j1切换到slf4j)
 slf4j-api
 logback-classic

2、添加logback的配置文件

Log4j2通过slf4j,重定向到logback 输出日志

1、添加依赖
log4j-to-slf4j.jar(log4j2切换到slf4j)
slf4j-api
logback-classic


2、添加logback的配置文件

 

jdk logging通过slf4j,重定向到logback 输出日志

1、添加依赖
jul-to-slf4j (实现jdk-logging切换到slf4j)
slf4j-api
logback-classic

2、添加logback的配置文件
3、在代码中加入如下代码

static{
    SLF4JBridgeHandler.install();
}
Handler是jdk-logging处理日志过程中的一个处理器
SLF4JBridgeHandler实现了这个Handler,替代了默认处理器

 

commons-logging切换到logback

1、添加依赖
jcl-over-slf4j(实现commons-logging切换到slf4j)
slf4j-api
logback-classic

2、添加logback的配置文件

 

 

jdk logging和 commons-logging都在项目中时, 统一切换到 logback

1、添加前两个的转换器依赖
jul-to-slf4j (实现jdk-logging切换到slf4j)
jcl-over-slf4j(实现commons-logging切换到slf4j)

添加到logback依赖
slf4j-api
logback-classic

2、添加logback的配置文件

3、在代码中加入如下代码
static{
    SLF4JBridgeHandler.install();
}

 

 

 

 

posted @ 2021-10-08 19:04  海绵般汲取  阅读(572)  评论(0编辑  收藏  举报