日志框架笔记

日志框架知识

1. slf4j是门面(slf4j-api)

即使实现包变化,应用中使用门面的api不变,只需要对包进行管理即可替换日志实现

a. 组合使用log4j:强行过渡slf4j-log4j12 + log4j

b. 组合使用log4j2:api过渡log4j-slf4j-impl + log4j-api + log4j-core

c. 组合使用logback:(直接实现slf4j-api) logback-classic + logback-core

 2. 桥接包

如果要替换原实现包,eg log4j/jcl/jul存在桥接包用来将实现代理给slf4j,再转给其他实现包

<dependencies>
    <!-- Java Commons Logging redirect to slf4j  -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    <!-- Apache log4j redirect to slf4j  -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
    </dependency>
    <!-- Java Util Logging redirect to slf4j  -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
    </dependency>
</dependencies>

使用了桥接包,就要把原实现包排除,因为桥接包里面有一样的api

桥接包版本跟着slf4j-api版本

解决问题

1. catalina.out报错信息不足,只有

严重: Error listenerStart 严重: Context [/lizongbo] startup failed due to previous errors

2. 在springboot中使用log4j2需要排除logback的包和配置

参考文章

log4j2.xml配置详解-优快云博客

一文读懂log4j logback log4j2 logback slf4j关系 - 含源码 - 知乎

log4j-over-slf4j的jar包适配原理解析-优快云博客

IDEA在用Maven引入依赖时,对于log4j与slf4j的依赖冲突的解决办法_log4j-over-slf4j maven-优快云博客



 

 其他文章

快速了解常用日志技术(JCL、Slf4j、JUL、Log4j、Logback、Log4j2)

tomcat8替换成slf4j:

tomcat8.5以上版本通过log4j2切割日志_tomcat使用log4j切割日志文件-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值