apache commons-logging和log4j

本文详细介绍了org.apache.commons.logging.LogFactory内部装载日志系统的顺序。主要包括:系统属性检查、JDK1.3后的发现系统、commons-logging.properties文件配置及默认实现的选择等步骤。

org.apache.commons.logging.LogFactory内部装载日志系统的顺序:

在它的getFactory()函数中:

1.首先检查系统属性org.apache.commons.logging.LogFactory是否定义,如果定义了,使用这里定义的值

2.如果没有定义,使用JDK1.3之后的发现系统,在META-INF/services目录下找这个service: META-INF/services/org.apache.commons.logging.LogFactory是否存在,存在的话使用这个值

3.从commons-logging.properties查找这个属性:org.apache.commons.logging.LogFactory,如果存在,使用之

4.使用默认的实现:默认的实现中,会依次查找下面几个实现是否存在

org.apache.commons.logging.impl.Log4JLogger
"org.apache.commons.logging.impl.Jdk14Logger",
            "org.apache.commons.logging.impl.Jdk13LumberjackLogger",
            "org.apache.commons.logging.impl.SimpleLog"

,如果存在 ,使用最先找到的那个实现


如果使用LOG4J,commons-logging包中有一个org.apache.commons.logging.impl.Log4JLogger类,这里有一个成员是org.apache.log4j.Logger也就相当于直接使用log4j本身的实现.org.apache.commons.logging.impl.Log4JLogger类是一个典型的Adapter!


这是从源代码中看到的加载顺序,似乎跟官网的doc讲得不一致!囧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值