JCL

JCL全称为Jakarta Commons Logging,是Apache提供的一个通用日志API。
  它是为 "所有的Java日志实现"提供一个统一的接口,它自身也提供一个日志的实现,但是功能非常弱(SimpleLog)。所以一般不会单独使用它。
  他允许开发人员使用不同的具体日志实现工具: Log4j, Jdk自带的日志(JUL)
  JCL 有两个基本的抽象类:Log(基本记录器)和LogFactory(负责创建Log实例)。

  

  JCL入门:(默认使用jdk14的实现)

  1.创建工程,引入依赖

<dependencies>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

  2.测试

public class JCLTest {

    @Test
    public void testQuick() {
        // 创建日志对象
        Log log = LogFactory.getLog(JCLTest.class);
        // 日志记录输出
        log.fatal("fatal");
        log.error("error");
        log.warn("warn");
        log.info("info");
        log.debug("debug");
    }
}

我们为什么要使用日志门面:
  1. 面向接口开发,不再依赖具体的实现类。减少代码的耦合
  2. 项目通过导入不同的日志实现类jar包,可以灵活的切换日志框架
  3. 统一API,方便开发者学习和使用

  4 . 统一配置便于项目日志的管理

JCL原理:

  1. 通过LogFactory动态加载Log实现类

     

   2 . 日志门面支持的日志实现数组

    

   3 . 获取具体的日志实现

    

 

posted @ 2020-04-20 19:30  糖不甜,盐不咸  阅读(450)  评论(0编辑  收藏  举报