common-logging
common-logging本身提供的日志功能比较弱,需要配合log4j或其他的日志系统来使用。
使用common-logging的好处是避免系统跟某个日志系统紧密耦合,我们只需要是用common-logging中的Log接口即可,它自己会根据配置或默认的方式去匹配合适的日志系统。其匹配的顺序如下:
- 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;
- 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;建立一个叫 :CATALINA_OPTS 的环境变量给他的值 : - Dorg.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog - Dorg.apache.commons.logging.simplelog.defaultlog = warn
- 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;
- 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);
- 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;
为了简化配置commons-logging,一般不使用commons-logging的配置文件,也不设置与commons-logging相关的系 统环境变量,而只需将Log4j的Jar包放置到classpash中就可以了。这样就很简单地完成了commons-logging与Log4j的融 合。如果不想用Log4j了怎么办?只需将classpath中的Log4j的Jar包删除即可。就这么简单!
使用起来简单、方便:
private static Log log=LogFactory.getLog(Logs.class);
然后就可以在程序中使用 log.info("xxx")等