杂谈 : 日志门户 slf4j 如何集成日志框架的

一 . 前言

这一篇讨论一点简单得东西 , 主要来了解一下什么叫日志门户 , 他又是怎么集成的 .

二 . 日志门户

阿里出版的 Java开发手册里面有这样一个强制规约 :

应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架 (SLF4J、JCL–Jakarta Commons Logging)中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Test.class);

那么为什么要这么用 ?

什么叫日志门户 ?

Simple Logging Facade for Java(SLF4J)作为各种日志框架(例如Java.util.Logging、logback、log4j)的简单门面或抽象,允许最终用户在部署时插入所需的日志框架。

简单点说 , 门户的目的是为了解耦 , SLF4J 就像一个抽象类一样 , 不关注具体的实现 . 在使用的时候 , 也可以灵活的使用 .

三 . 集成方式

类关系图

可以看到 , 核心前置处理就是初始化阶段 , 用来将对应的插件加载进入 , 分析起来还是以 Spring 为例 :

3.1 初始化阶段

// S1 : 初始化的发起
// Log 的加载同样是在 LogFactory 环节进行的 
C- SpringApplication
private static final Log logger = LogFactory.getLog(SpringApplication.class);

// S2 : LogFactory 发起处理流程 , 加载 Adapter 适配器
getLog -> LogAdapter.createLog(name);

// S3 : LogAdapter 中加载具体的处理类
public static Log createLog(String name) {
    switch(logApi) {
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值