日志框架分为两大部分

一部分是日志框架的抽象层,一部分是日志框架的具体实现

slf4j: 日志框架的抽象层

log4j,logback 日志框架的具体实现

如上图所示:

slf4j的具体实现是:slf4j-api.jar

slf4j抽象层的具体实现是 logback-classic.jar, logback-core.jar

由于历史的原因

log4j 和 jave.util.logging 诞生在 slf4j这个抽象层之前,所以它们需要一个中间适配层来连接现有抽象层 和 具体的实现层

log4j 的适配器层是slf4j-log12.jar, java.util.logging的适配器层是slf4j-jdk14.jar

加上适配器后以前原有的log框架也就受slf4j的控制了。

日志框架的配置文件使用的是 日志框架实现类自己的配置文件

历史遗留问题,在一个大型系统中由于使用到的框架底层依赖不同的log框架,为了统一使用将多个不同的日志框架统一转化成相同的框架来使用

需要使用不同的转换工具类

commons-logging使用的转换包是 jcl-over-slf4j.jar

如果系统中想统一使用logback,需要

1. 将系统中其他日志框架先排除出去 (maven exclude)

2. 用中间包来替换原有的日志框架 例如 jcl-over-slf4j.jar

3. 我们导入slf4j其他的实现 比如说logback

参考资料:
https://www.slf4j.org/manual.html

https://www.slf4j.org/legacy.html

转载于:https://www.cnblogs.com/mengjianzhou/p/9059115.html

log 框架 之间的关系相关推荐

  1. slf4j,log4j,log back之间的关系和区别

    1.SLF4J(Simple logging Facade for Java) 意思为简单日志门面,它是把不同的日志系统的实现进行了具体的抽象化,只提供了统一的日志使用接口,使用时只需要按照其提供的接 ...

  2. SpringData Jpa、Hibernate、Jpa 三者之间的关系

    JPA规范与ORM框架之间的关系是怎样的呢? JPA规范本质上就是一种ORM规范,注意不是ORM框架--因为JPA并未提供ORM实现,它只是制订了一些规范,提供了一些编程的API接口,但具体实现则由服 ...

  3. 构架、框架、设计模式之间的关系简述

    一.软件体系结构和框架的定义 软件体系结构的英文单词是"architecture". Architecture的基本词义是建筑.建筑学.建筑风格. 软件体系结构虽然根植于软件工程, ...

  4. Java设计模式、框架、架构、平台之间的关系

     1.设计模式 为什么要先说设计模式?因为设计模式在这些概念中是最基本的,而且也比较简单.那么什么是设计模式呢?说的直白点,设计模式就是告诉你针对特定问题如何组织类.对象和接口之间的关系,是前人总结的 ...

  5. 一文读懂Python web框架和web服务器之间的关系

    我们都知道 Python 作为一门强大的语言,能够适应快速原型和较大项目的制作,因此被广泛用于 web 应用程序的开发中. 在面试的过程中,大家或多或少都被问到过这样一个问题:一个请求从浏览器发出到数 ...

  6. [UE][UE5]Gameplay框架,Actor,pawn,playerController(玩家控制器),Character(角色)之间的关系

    [UE][UE5]Gameplay框架,actor,pawn,playerController,Character之间的关系 Actor,pawn,playerController(玩家控制器),Ch ...

  7. Cocoa框架类之间继承关系

    在Cocoa开发中是必要的,至于其它框架(如:Core Data.Sync Services.Address Book.Preference Panes.Screen Saver.Web Kit)则是 ...

  8. J2EE高级开发框架小课程之Spring框架2——Spring容器作用域,生命周期,Spring管理对象之间依赖关系

    Spring容器作用域 Spring创建对象的作用域:Spring在创建对象时,默认只创建一个(单例模式) scope: singleton(默认 单例) 构造器就一次,结果true prototyp ...

  9. WSGI、Flask及Werkzeug三者之间的关系

    目录 一.WSGI是什么? 二.Werkzeug是什么 三.Flask的WSGI实现 一.WSGI是什么? WSGI是一套接口规范.一个WSGI程序用以接受客户端请求,传递给应用,再返回服务器的响应给 ...

最新文章

  1. feachall php_timthumb.php详解
  2. python跟java-Python和Java该学哪个?还在纠结的你看过来呀~
  3. AntData.ORM框架 之 读写分离
  4. 网络安装LINUX系统原理,PXE网络引导系统自动化安装CentOS7
  5. Spark2.0流式处理读Kafka并写ES
  6. MIT软件构造 -- ADT Patterns: Interfaces, Generics, and Enums
  7. (14)System Verilog 常量const详解
  8. 以太坊2.0客户端Lighthouse发布v1.3.0版本,为高优先级建议立即更新
  9. tomcat7 mysql 连接池_Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置
  10. pytorch GPU加速运算
  11. 管理数据,应用程序和主机安全-A
  12. 大型WEB系统架构的那些组成
  13. ASP.NET加密和解密数据库连接字符串
  14. 微信小程序毕业设计 基于微信小程序外卖点餐系统开题报告
  15. 电视剧:我的团长我的团
  16. 小程序开发专题-项目设计-毕业设计【建议在校生收藏】
  17. HSV对应不同颜色的灰度空间
  18. 详解5种网站 静态网站、动态网站、伪静态网站、云计算网站都是什么
  19. 最大后验估计(MAP)
  20. 服务器虚拟化vps,服务器虚拟化 vps

热门文章

  1. 套接字选项SO_LINGER
  2. NBIOT 移远BC28模块+stm32开发板例程、教程(打通TCP、COAP协议)
  3. STM32---SPI通信的总结(库函数操作)
  4. linux:内核中断
  5. springmvc三十:异常处理流程
  6. win7系统, vim的_vimrc文件无法修改
  7. LNMP添加、删除虚拟主机及伪静态使用教程
  8. vSphere DRS
  9. 我是如何用Worktile进行敏捷开发的
  10. 【xinfanqie】五方面快速解决Win8蓝屏问题