zoukankan      html  css  js  c++  java
  • Java日志体系(三)commons-logging

    1.1 简介

                            

    Apache Commons Logging,又名JakartaCommons Logging (JCL),它是Apache提供的一个通用的日志接口,它的出现避免了和具体的日志方案直接耦合;在日常开发中,developer可以选择第三方日志组件进行搭配使用,例如log4j、logback等;

    说的直白些,commons-logging提供了操作日志的接口,而具体实现交给log4j、logback这样的开源日志框架来完成;这样的方式,实现了程序的解耦,对于底层日志框架的改变,并不会影响到上层的业务代码。

    1.2 commons-logging结构

    Log:日志对象接口,封装了操作日志的方法,定义了日志操作的5个级别:trace < debug < info < warn < error

    LogFactory:抽象类,日志工厂,获取日志类;

    LogFactoryImpl:LogFactory的实现类,真正获取日志对象的地方;

    Log4JLogger:对log4j的日志对象封装;

    Jdk14Logger:对JDK1.4的日志对象封装;

    Jdk13LumberjackLogger:对JDK1.3以及以前版本的日志对象封装;

    SimpleLog:commons-logging自带日志对象;

    1.3 使用

    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。




  • 相关阅读:
    JasperReport笔记
    关于iReport5.6.0无法正常启动或者闪退或者JDK8不兼容的解决方案
    sublime text3 3176激活
    直播技术之编码和封装
    直播技术之推流和传输
    Quic协议剖析
    Glide Picasso和Fresco的对比
    MVP架构学习
    反向打印链表
    重建二叉树
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/11273272.html
Copyright © 2011-2022 走看看