commons-logging存在的问题 & SLF4J 整合Log4j2

一:commons-logging存在的问题

commons-logging 是广泛使用门面日志库,使用动态查找机制在运行时发现真正的日志库,通过ClassLoader加载日志库,而OSGI中不同插件有不同的ClassLoader,每个线程执行时的ClassLoader都说是不同的,这种能力保证了各插件的相互独立,从而导致commons-logging在OSGI环境中无法正常使用,解决方案就是使用SLF4J。

二:slf4j

SLF4也是广泛使用的门面日志库,但是他是使用编译期静态绑定真正的日志库,通OSGI同时使用时不存在问题。

三:slf4j整合log4j2

这个主要是在版本上存在一些问题,目前我采用的成功整合的版本是

slf4j-api-1.7.21  +  log4j-slf4j-impl-2.2  +  log4j-core-2.2  +  log4j-api-2.2  +  log4j-web-2.2 

commons-logging存在的问题 & SLF4J 整合Log4j2_第1张图片
log4j-web的web.xml中的配置

log4j2.xml

        ···

        ···

commons-logging存在的问题 & SLF4J 整合Log4j2_第2张图片
appenders


commons-logging存在的问题 & SLF4J 整合Log4j2_第3张图片
loggers

你可能感兴趣的:(commons-logging存在的问题 & SLF4J 整合Log4j2)