Apache Commons Logging,又名JakartaCommons Logging (JCL),它是Apache提供的一个通用的日志接口,它的出现避免了和具体的日志方案直接耦合;在日常开发中,developer可以选择第三方日志组件进行搭配使用,例如log4j、logback等;
说的直白些,commons-logging提供了操作日志的接口,而具体实现交给log4j、logback这样的开源日志框架来完成;这样的方式,实现了程序的解耦,对于底层日志框架的改变,并不会影响到上层的业务代码。
Log:日志对象接口,封装了操作日志的方法,定义了日志操作的5个级别:trace < debug < info < warn < error
LogFactory:抽象类,日志工厂,获取日志类;
LogFactoryImpl:LogFactory的实现类,真正获取日志对象的地方;
Log4JLogger:对log4j的日志对象封装;
Jdk14Logger:对JDK1.4的日志对象封装;
Jdk13LumberjackLogger:对JDK1.3以及以前版本的日志对象封装;
SimpleLog:commons-logging自带日志对象;
commons-logging的使用非常简单。首先,需要在pom.xml文件中添加依赖:
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency>
声明测试代码:
public class commons_loggingDemo { Log log= LogFactory.getLog(commons_loggingDemo.class); @Test public void test() throws IOException { log.debug("Debug info."); log.info("Info info"); log.warn("Warn info"); log.error("Error info"); log.fatal("Fatal info"); } }
接下来,在classpath下定义配置文件:commons-logging.properties:
#指定日志对象: org.apache.commons.logging.Log = org.apache.commons.logging.impl.Jdk14Logger #指定日志工厂: org.apache.commons.logging.LogFactory = org.apache.commons.logging.impl.LogFactoryImpl
在我们的项目中,如果只单纯的依赖了commons-logging,那么默认使用的日志对象就是Jdk14Logger,默认使用的日志工厂就是LogFactoryImpl。
原文:https://www.cnblogs.com/caoweixiong/p/11273272.html