java日志框架--jcl日志门面(jcl概念介绍jcl示例)(代码片段)

CodeJiao CodeJiao     2022-12-05     248

关键词:

1. JCL

全称为Jakarta Commons Logging,是Apache提供的一个通用日志API。是日志门面的一种实现方式,另外一种日志门面的实现方式是Slf4j。

它是为 "所有的Java日志实现"提供一个统一的接口,它自身也提供一个日志的实现,但是功能非常弱(SimpleLog)。所以一般不会单独使用它。他允许开发人员使用不同的具体日志实现工具: Log4j、Jdk自带的日志(JUL)。

JCL 有两个基本的抽象类:

  • Log(基本记录器)
  • LogFactory(负责创建Log实例,通过LogFactory动态加载Log实现类)。

1.1 JCL示例代码

首先创建一个普通的Maven工程:

然后导入相关的依赖:

    <dependencies>
        <!--        单元测试依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!--        JCL-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

示例代码:

JCLTest.java

package com.tian.logs;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;

public class JCLTest 

    @Test
    public void testQuick() throws Exception 
        // 获取 log日志记录器对象
        Log log = LogFactory.getLog(JCLTest.class);
        // 日志记录输出
        log.info("hello jcl");
    

运行结果(默认使用 JUL 实现):

现在引入 Log4j 的依赖:

        <!--        log4j-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

再次运行刚刚的代码:

现在我们创建Log4j的配置文件:

log4j.properties

# 指定 RootLogger 顶级父元素默认配置信息
# 指定日志级别=trace,使用的 appenderw 为=console
log4j.rootLogger=trace,console
# 指定控制台日志输出的 appender
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 指定消息格式 layout
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 指定消息格式的内容
log4j.appender.console.layout.conversionPattern=[%-10p]%r  %l %dyyyy-MM-dd HH:mm:ss.SSS %m%n

再次运行上面的测试代码:


1.2 使用日志门面的好处

  1. 面向接口开发,不再依赖具体的实现类。减少代码的耦合
  2. 项目通过导入不同的日志实现类,可以灵活的切换日志框架
  3. 统一API,方便开发者学习和使用
  4. 统一配置便于项目日志的管理


004-log-common-logging,apache整合日志框架jcl门面框架jcl+log4j(代码片段)

一、概述  JakartaCommonsLogging(JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工... 查看详情

日志框架(代码片段)

1、市面上的日志框架JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....日志门面(日志的抽象层)日志实现JCL(JakartaCommonsLogging)SLF4j(SimpleLoggingFacadeforJava)jboss-loggingLog4jJUL(java.util.logging)Log4j2Logback &nbs 查看详情

springboot使用日志(代码片段)

1、日志框架日志门面日志实现JCL、SLF4J、jboss-loggingLog4j、JUL、Log4j2、Logback日志门面:SLF4J日志实现:LogbackSpringBoot:底层是Spring框架,Spring框架默认是用JCL;SpringBoot选用SLF4J和Logback.2、SLF4J使用以后开发的时候,日志记录。日志... 查看详情

日志(代码片段)

1、日志框架小张;开发一个大型系统;?1、System.out.println("");将关键数据打印在控制台;上线后将关键数据写在一个文件??2、为了方便使用,整合为一个日志框架,框架来记录系统的一些运行时信息;日志框架;zhanglog... 查看详情

java日志体系jcl和slf4j(代码片段)

Java日志体系(二)jcl和slf4j《java日志体系(一)统一日志》:https://www.cnblogs.com/binarylei/p/9828166.html《Java日志体系(二)jcl和slf4j》:https://www.cnblogs.com/binarylei/p/10781582.html前面介绍了jdk自带的logging、log4j1、log4j2、logback等实 查看详情

日志技术-java原生日志实现jul

目录:一、日志的概念二、Java日志框架三、JUL日志框架四、JUL日志框架代码实现1、默认配置日志输出2、直接对应日志级别输出3、自定义编码形式日志输出4、Logger对象的父子关系5、加载自定义配置文件五、JUL日志配置文件1、JD... 查看详情

日志管理,springboot

1.市面上的日志框架;JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....2.日志门面:SLF4J;日志实现:Logback;SpringBoot:底层是Spring框架,Spring框架默认是用JCL;‘SpringBoot选用SLF4j和logback;3.SLF4j使用3.1如何在系统中使用SLF4j  ht... 查看详情

commons-logging(jcl)(代码片段)

...CL)JakartaCommons-logging(JCL)是apache最早提供的日志的门面接口。提供简单的日志实现以及日志解耦功能。JCL能够选择使用Log4j(或其他如slf4j等)还是JDKLogging,但是他不依赖Log4j,JDKLoggi 查看详情

java日志框架--日志框架介绍日志门面技术jul日志(jul架构jul入门示例jul日志级别jul日志的配置文件)(代码片段)

1.日志的概念日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。2.Java日志框架问题:控制日志输出的内容和格式。控制日志... 查看详情

springboot与日志框架1(代码片段)

一、日志框架1.无论在什么系统,日志框架都是一个重要角色,所以理解和用好日志框架是相当重要的;像JDBC一样,日志框架分为接口层的门面和具体的实现组成。2.市面上的产品:2.1门面:SLF4J(SimpleLogginFacadeforJava)、JCL(JakartaCom... 查看详情

实现jul日志重定向到slf4j

需求背景  jul指的是java.util.logging,是java内置的日志模块,目前流行的Java日志组件还包括jcl(common-logging)、slf4j/log4j/logback等等 不同日志框架的定位和特性都存在差异,如jcl、slf4j提供的是日志门面(api)定义,log4j、logbac... 查看详情

理清java日志体系框架组成推荐组合及常见问题处理(代码片段)

目录1、日志框架发展史(按时间排序)1.1 Log4j1.2 J.U.L(jdk-logging)1.3 J.C.L(commons-logging)1.4Slf4j(SimpleLoggingFacadeforJava)1.5Logback1.6Log4j22、日志框架组成部分2.1 接口/门面类(3个)2.2 实现类(4个)2.3 桥接类(12个)3、日志框架各部分的作用... 查看详情

java日志框架--slf4j日志门面(入门案例slf4j优点slf4j日志绑定sl4j桥接旧的日志框架)(代码片段)

1.SLF4J日志门面JCL日志门面逐渐被淘汰了,因为他无法动态的扩展具体的日志实现框架。简单日志门面(SimpleLoggingFacadeForJava)SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架,其主要意义在于提供接口,具体... 查看详情

java日志框架--slf4j日志门面(入门案例slf4j优点slf4j日志绑定sl4j桥接旧的日志框架)(代码片段)

1.SLF4J日志门面JCL日志门面逐渐被淘汰了,因为他无法动态的扩展具体的日志实现框架。简单日志门面(SimpleLoggingFacadeForJava)SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架,其主要意义在于提供接口,具体... 查看详情

java日志框架--slf4j日志门面(入门案例slf4j优点slf4j日志绑定sl4j桥接旧的日志框架)(代码片段)

1.SLF4J日志门面JCL日志门面逐渐被淘汰了,因为他无法动态的扩展具体的日志实现框架。简单日志门面(SimpleLoggingFacadeForJava)SLF4J主要是为了给Java日志访问提供一套标准、规范的API框架,其主要意义在于提供接口,具体... 查看详情

java项目日志系统的总结(代码片段)

目录日志系统归类以及关系日志的三个组件slf4j的使用项目中构建日志系统使用例子日志系统归类以及关系常用的日志框架:slf4j、logback、log4j、log4j2、JUL(javautillogging)、jboss-logging、JCL(jakartacommonlogging)log4j:最开始的一个日志系统... 查看详情

springboot的日志配置(logback+slf4j)简介(代码片段)

slf4j简介和技术选型市面上的日志框架:JUL、JCL、Jboss-logging、logback、log4j、log4j2、slf4j....日志门面(日志的抽象层)日志实现JCL(JakartaCommonsLogging)SLF4j(SimpleLoggingFacadeforJava)jboss-loggingLog4jJUL(java.util.logging)Log4j2Logbac 查看详情

java日志框架--日志框架介绍jul日志学习

1.日志的概念日志文件是用于记录系统操作事件的文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。2.Java日志框架问题:控制日志输出的内容和格式。控制日志... 查看详情