java业务日志组件,java日志组件的那些破事

由于现在开源框架日益丰富,好多开源框架使用的日志组件不尽相同。存在着在一个项目中,不同的版本,不同的框架共存。

其中有一些标准通用接口,标准实现,各种桥接器的存在,下面就让笔者树立一下这些框架之间的关系。

ae080474e292688ad7586631b9281116.png

slf4J与旧日志框架的关系

slf4j等于commons-logging,是各种日志实现的通用入口,会根据classpath中存在下面哪一个Jar来决定具体的日志实现库。

logback-classic(默认的logback实现)

slf4j-jcl.jar(apache commons logging)

slf4j-logj12.jar(log4j 1.2.4)

slf4j-jdk14(java.util.logging)

将所有使用旧式日志API的第三方类库或旧代码的日志调用转到slfj

jcl-over-slf4j.jar/jcl104-over-slf4j:apache commons logging 1.1.1/1.0.4,直接替换即可。

log4j-over-slf4j.jar:log4j,直接替换即可。

jul-to-slf4j:jdk logging,需要在程序开始时调用SLF4JBridgeHandler.install()来注册listener参考JulOverSlf4jProcessor,可在applicationContext.xml中定义该bean来实现初始化。注意原有的log4j.properites将失效,logback网站上提供转换器,支持从log4j.properties 转换到logback.xml 。

如何配置Logback

org.slf4j

slf4j-api

${slf4j.api.version}

ch.qos.logback

logback-core

1.1.0

jar

ch.qos.logback

logback-classic

1.1.0

jar

org.slf4j

log4j-over-slf4j

1.6.6

org.slf4j

jcl-over-slf4j

1.6.6

与遗留Logging框架兼容

SLF4J对于Log4J 1和Apache commons Logging的支持方式是提供了实现Log4j和Apache commons Logging接口的SLF4J实现。使用方式是

去取对Log4J和Apache commons Logging的Jar包的引用

引入SLF4J的对应接口的实现包。

移除引用

如果你的系统是直接的使用了Log4j或者Apache commons Logging框架的话,你可以直接把对他们的引用去掉就可以了。如果是你所引用的第三方包里面引用了Log4j或者Apache commons Logging,可以使用标签去掉对他们的引用,如下所示:

org.springframework.ldap

spring-ldap-core

commons-logging

commons-logging

logback.xml

ldap-pwd.log

archive/ldap-pwd.%d{yyyy-MM-dd}.zip

30

%d [%thread] %-5level %40logger{40} - %msg%n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值