如果一个项目依赖多个项目的jar包,那么如果1以当前项目的日志为准
比如当前项目就是想使用slf4j标准,使用logback晋实现。那么就可以统一排包,将log4j,以及 log4j2进行排包直接引入不存在的版本
caseA
如果项目使用slf4j+logBack,Ajar包依赖log4j原生编程,B使用slf4j+log4j2 C使用slf4j+logback
如果进行统一
在项目中将A的log4引入一个不存在的版本,但是为了 A的jar不报错,那么引入一个log4j-slf.jar实现slf标准的一个jar如下,使用桥接设计模式实现
caseB:
项目想使用slf+logback,Ajar包原生log4j Bjar包原生log4j2,Cjar包slf4j+logback如何进行统一?
在项目中将A的jar包排除
将B中的log4j2的jar包排除掉
最终实现将不同的日志统一日志打印
日志实现原理
在自己实际开发过程中,可以借鉴这种思路,使用门面设计模式,适配器设计模式,桥接适配模式,尽量减少原来类的改变 还能实现类功能的扩展