【log4j】—日志记录log4j的Logger和commons.logging的Log的区别

1、做日志的时候一般是两者一起用,commons-logging工作原理做接口,log4j做实现,应用起来比单独的使用log4j要简单。

commons-logging工作原理:
1.1 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类

1.2 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类

1.3 查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类

1.4 使用JDK自身的日志实现类(JDK1.4以后才有日志实现类)

1.5 使用commons-logging自己提供的一个简单的日志实现类SimpleLog
(以上顺序不保证完全准确,请参考官方文档)
commons-logging总是能找到一个日志实现类,并且尽可能找到一个”最合适”的日志实现类.

2、apache common logging是一种log的框架接口,它本身并不实现log记录的功能,而是在运行时动态查找目前存在的日志库,调用相关的日志函数,从而隐藏具体的日志实现。log4j是具体的日志实现,真正负责”写”日志的这个功能;common logging本身不是log,你可以把它看做是一个日志的接口而log4j就是日志的实现;使用common logging方式实现日志,
主要的原因在于可以忽略底层的日志实现,或者说为以后的日志实现库的更换提供透明界面;你可以考虑下,假设从log4j更换为logback,势必要重写所有原本使用log4j的源代码,而使用common logging的情况下,只需要更换jar包,而不需要对源代码做任何改动 ;

3、实际使用

private static Logger logger = Logger.getLogger(*.class);
    import org.apache.log4j.Logger;

private static final Log log = LogFactory.getLog(*.class);
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值