当前位置:网站首页>JCL 学习
JCL 学习
2022-07-30 09:28:00 【悠然予夏】
全称为Jakarta Commons Logging,是Apache提供的一个通用日志API。
它是为 "所有的Java日志实现"提供一个统一的接口,它自身也提供一个日志的实现,但是功能非常常弱(SimpleLog)。所以一般不会单独使用它。他允许开发人员使用不同的具体日志实现工具: Log4j, Jdk自带的日志(JUL)
JCL 有两个基本的抽象类:Log(基本记录器)和LogFactory(负责创建Log实例)。
1、JCL入门
- 建立maven工程
- 添加依赖
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency>
- 入门代码
public class JCLTest { @Test public void testQuick() throws Exception { // 获取log日志记录器对象 Log log = LogFactory.getLog(JCLTest.class); // 日志记录的输出 log.info("hello info"); } }
我们为什么要使用日志门面:
- 面向接口开发,不再依赖具体的实现类。减少代码的耦合
- 项目通过导入不同的日志实现类,可以灵活的切换日志框架
- 统一API,方便开发者学习和使用
- 统一配置便于项目日志的管理
2、JCL原理
1. 通过LogFactory动态加载Log实现类
2. 日志门面支持的日志实现数组
private static final String[] classesToDiscover =
new String[]{"org.apache.commons.logging.impl.Log4JLogger",
"org.apache.commons.logging.impl.Jdk14Logger",
"org.apache.commons.logging.impl.Jdk13LumberjackLogger",
"org.apache.commons.logging.impl.SimpleLog"};
3. 获取具体的日志实现
for(int i = 0; i < classesToDiscover.length && result == null; ++i) {
result = this.createLogFromClass(classesToDiscover[i], logCategory,true);
}
边栏推荐
猜你喜欢
shell脚本
【 HMS core 】 【 】 the FAQ HMS Toolkit collection of typical questions 1
The use of qsort function and its analog implementation
flowable工作流所有业务概念
PyTorch安装及环境配置(Win10)
idea2021+Activiti【最完整笔记一(基础使用)】
功能测试、UI自动化测试(web自动化测试)、接口自动化测试
唯物辩证法-条件论
Two solutions for Excel xlsx file not supported
20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
随机推荐
HR团队如何提升效率?人力资源RPA给你答案
Kotlin value class - value class
Unified exception handling causes ResponseBodyAdvice to fail
105. 从前序与中序遍历序列构造二叉树(视频讲解!!)
Devops和低代码的故事:螳螂捕蝉,黄雀在后
梅科尔工作室-看鸿蒙设备开发实战笔记五——驱动子系统开发
聊聊 MySQL 事务二阶段提交
flyway的快速入门教程
一文理解分布式开发中的服务治理
The creation of a large root heap (video explanation)
ESP32 入门篇(一)使用 VS Code 进行开发环境安装
Two solutions for Excel xlsx file not supported
初识Apifox——如何使用Apifox做一个简单的接口测试
Baidu promotion assistant encounters duplicate keywords, verification errors, how to delete redundant ones with one click
Test automation selenium (a)
快解析结合任我行crm
20220728 Use the bluetooth on the computer and the bluetooth module HC-05 of Huicheng Technology to pair the bluetooth serial port transmission
PyQt5快速开发与实战 7.4 事件处理机制入门 and 7.5 窗口数据传递
flowable工作流所有业务概念
百度paddleocr检测训练