Java日志框架的扛把子 - SLF4J - SLF4J的原理和实践

1. Java世界中的日志框架

Java世界中的日志框架

  • 其中,slf4j和jcl属于门面日志框架,而其它的几个则是真正干活的ddidic底层日志框架。
  • 冷知识:其中标红的日志框架,它们的作者是同一人。
  • 不同的日志框架,API接口往往也不一样。

如果直接使用底层的日志框架,会有什么问题?

  • 每种底层日志框架,都有不同的API,配置文件的格式也不一样。
  • 当Java程序要使用这些框架的时候,它就需要为不同的框架写不同的接入代码,此时就会带来一些问题:
  1. 当Java应用程序需要更换日志框架时会非常的麻烦,需要修改大量的代码
  2. 即便你的应用程序只使用一种日志框架,但是你依赖的其它第三方组件使用的是其它的日志框架,如果多种日志框架共存,此时将不得不维护多套配置文件。
  • 此时就引入了门面日志框架

2. 门面日志框架

  • 门面日志框架,本质上就是一套抽象的日志API。
  • 大家约定Java应用程序以及第三方框架都统一使用门面日志框架,然后再使用一个适配层,将门面日志框架和底层的日志框架绑定起来,因为从始至终只有一个底层的日志框架,所以Java应用只需要维护一套配置文件即可。

3. SLF4J日志框架

SLF4JL:全称是SimpleLoggingFacade forJ****ava

  • 翻译成中文,即"Java的简单日志门面",是现在Java生态中最流行的一个门面日志框架

SLF4J的实现原理

相关推荐
chenbin___1 分钟前
Omit<>的用法
开发语言·前端·javascript
HahaGiver6664 分钟前
Unity与Android原生交互开发入门篇 - 打开Android的设置
android·java·unity·游戏引擎·android studio
Blossom.1185 分钟前
把AI“贴”进路灯柱:1KB决策树让老旧路灯自己报「灯头松动」
java·人工智能·python·深度学习·算法·决策树·机器学习
QT 小鲜肉10 分钟前
【QT/C++】Qt网络编程进阶:TCP网络编程的基本原理和实际应用(超详细)
c语言·开发语言·网络·c++·qt·学习·tcp/ip
C# 学习者18 分钟前
C# 为异步函数实现WaitAsync方法
java·前端·c#
❀͜͡傀儡师18 分钟前
快速定位并解决Java应用CPU占用过高问题
java·开发语言·python
冬天vs不冷24 分钟前
Java基础(十五):注解(Annotation)详解
android·java·python
艾莉丝努力练剑31 分钟前
【C++:map和set的使用】C++ map/multimap完全指南:从红黑树原理入门到高频算法实战
大数据·开发语言·c++·人工智能·stl·map
汤姆yu31 分钟前
基于大数据的全国降水可视化分析预测系统
大数据·开发语言·python
VBA63371 小时前
VBA信息获取与处理专题五第三节:发送带附件的电子邮件
开发语言