当前位置:网站首页>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);
}边栏推荐
- 最长公共序列、串问题总结
- 树莓派_烧写Raspberry官方镜像系统
- PyQt5-用像素点绘制正弦曲线
- 【HMS core】【FAQ】HMS Toolkit典型问题合集1
- 连接mysql报错WARN: Establishing SSL connection without server‘s identity verification is not recommended
- PyQt5-在窗口上绘制文本
- leetcode 剑指 Offer 52. 两个链表的第一个公共节点
- flowable工作流所有业务概念
- Re17:读论文 Challenges for Information Extraction from Dialogue in Criminal Law
- leetcode 剑指 Offer 46. 把数字翻译成字符串
猜你喜欢
随机推荐
这种叫什么手法
功能测试、UI自动化测试(web自动化测试)、接口自动化测试
conda 导出/导出配置好的虚拟环境
JVM内存布局、类加载机制及垃圾回收机制详解
PyQt5-绘制不同类型的直线
(C语言)文件操作
神秘的APT攻击
BERT预训练模型系列总结
XP电源维修fleXPower电源X7-2J2J2P-120018系列详解
快解析结合象过河erp
快解析结合用友时空
Google Cloud Spanner的实践经验
线上靶机prompt.ml
梅科尔工作室-看鸿蒙设备开发实战笔记六—无线联网开发
MySQL之COUNT性能到底如何?
mysql安装教程【安装版】
20220728使用电脑上的蓝牙和汇承科技的蓝牙模块HC-05配对蓝牙串口传输
LeetCode二叉树系列——94.二叉树的中序遍历
方法的参数传递
团队级敏捷真的没你想的那么简单









