一、 总览

本文章不对日志组件进行优劣评价,只是对关系进行对比。在日志中组件中存在这样的几种关系, 这几种关系理解清楚, 有助于我们对日志的引入和使用。

二、 日志门面

日志门面就是指直接引入我们程序中进行记录日志的日志组件(例如SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统,它需要下面的具体日志实现来进行记录日志, 而日志实现也需要一个门面来与日志系统进行连接, 可以说日志门面就是实现与系统之间的一个连接器),作为日志门面的这些组件会在程序中直接依赖, 上图中就列举的几种常见的日志门面的组件。像一些软件直接回默认使用一些组件, 比如Spring使用的就是commons-logging, activiti使用的日志门面就是slf4j, 其他的软件也都会选用自己认为好用的日志门面。

三、 日志实现

除了log4j既是门面又是实现之外, commons-logging和slf4j(这些日志门面) 都是不能直接打印日志的, 都需要依赖一个日志实现来打印日志,上图中也举了几个日志实现。

四、桥接方式

slf4j默认和logback做了一些桥接的处理,那么桥接的作用是什么呢, 假如我想使用slf4j做为实现的门面,然而同时我想使用log4j作为真正的日志实现,这个时候就需要slf4j-logrj12 jar包, 现在应该可以理解桥接方式了。

五、 改变依赖

这里的作用是为了避免一些冲突, 例如在这样的场景下,我们使用spring做为开发,而我们开发的软件要使用的是slf4j作为日志门面,这个时候因为Spirng默认使用的是commons-logging作为日志门面,这个时候就会发生一些冲突, 所以我们可以引入jcl-over-slf4j, 通过这个组件把commons-logging覆盖掉, 为了把历史软件内部的依赖覆盖掉, 就可通过这个方式改变依赖。

Java日志组件间关系相关推荐

  1. Java 日志体系详解

    欢迎关注方志朋的博客,回复"666"获面试宝典 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用.依赖,好让我们平时在工作中如果遇到"日志打不出&qu ...

  2. Java日志体系权威总结

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:http://r6d.cn/MSaE 概要 本文的目 ...

  3. Java日志体系总结

    概要 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用.依赖,好让我们平时在工作中如果遇到"日志打不出"或者"日志jar包冲突"等之类的问题 ...

  4. java -jar 怎么停止_图解Java日志体系

    概要 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用.依赖,好让我们平时在工作中如果遇到"日志打不出"或者"日志jar包冲突"等之类的问题 ...

  5. 工作这么多年,很多人竟然还搞不清Java日志体系!

    概要 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用.依赖,好让我们平时在工作中如果遇到"日志打不出"或者"日志jar包冲突"等之类的问题 ...

  6. java log4j logback jcl_知识总结-Java日志框架Log4j、Log4j2、logback、slf4j、简介

    功能简介 上一篇介绍了为什么打印日志.什么时候打印日志以及怎么打印日志.本篇介绍下在项目开发中常见的日志组件以及关系. 先看一张图 接口:将所有日志实现适配到了一起,用统一的接口调用. 实现:目前主流 ...

  7. 深入掌握Java日志体系,再也不迷路了

    点赞再看,养成习惯,公众号搜一搜[一角钱技术]关注更多原创技术文章.本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 对于一个应用程序来说日志记录是必 ...

  8. java语言类间继承关系是,Java语言类间的继承关系是(    )。

    Java语言类间的继承关系是(    ). 更多相关问题 [判断题] 持有OPEN票的游客不需要机票的确认,可直接按票面时间去机场乘坐飞机.() [填空题] 导游服务性质是().().().().() ...

  9. Java日志的心路历程

    大家好,我是头发还很多的阿星 今天来和大家聊聊Java日志体系,Java日志体系可以说是五花八门,眼花缭乱. 导致很多小伙伴因为日志标准库之间复杂的关系而感到烦恼,不知道统一系统的日志标准库需要依赖哪 ...

最新文章

  1. Linux 系统学习梳理_【All】
  2. 网络攻防-20169213-刘晶-第六周作业
  3. 制作Python的安装模块
  4. 看的一个pdf说的。。大型网站架构演变
  5. sharepoint 2013/2010/2007 复制工具:SharePoint Content Deployment Wizard
  6. idea java9以及以上 出现找不到class的情况
  7. 【OSS 最佳实践】JS SDK使用STS方式实现断点续传
  8. 实战:使用python爬取新冠疫情国内外最新数据
  9. 强化学习 马尔可夫决策过程(MDP)是什么
  10. destoon 支付异步接口文件 notify.php 调试方式
  11. 查看Cglib生成的Class(字节码)文件
  12. 浏览器首页被360恶意篡改,解决方法
  13. python实训总结万能版3000字_实训总结万能版2000字
  14. GIS可视化—热力图制作与热点分析(一)
  15. 【傻瓜图文式】Win系统下制作U盘CLOVER引导+安装原版Mavericks10.9+安装问题总结
  16. 计算机日语考研的学校,专科日语考研考什么学校
  17. Hazel引擎学习(五)
  18. html6+树状下拉列表,layui+ztree 树状下拉框
  19. 青少年CTF Misc-Easy 百家姓 WP
  20. 小白一键重装win11系统教程图解

热门文章

  1. BlackBerry 应用程序开发者指南 第一卷:基础--第9章 IT策略(Policy)
  2. Cesium 加载天地图
  3. 与Flutter第一次亲密接触-Android 视角
  4. 《中国人工智能学会通讯》——7.7 结束语
  5. ubuntu下python3及idle3的安装
  6. IIS启用.net2.0
  7. csv数据源的创建(二)
  8. 客户端访问Web Service--参数类型的序列化与反序列化(一)
  9. sim卡没坏但苹果手机无服务_iPhone手机无服务那些事儿
  10. 软件项目经理怎么做?