slf4j 日志级别_【编程开发】 01 日志框架

本文介绍了日志实现框架,如Log4j、JUL和Logback,重点讲解了Logback的核心架构和日志级别。SLF4J作为统一的日志API,通过绑定机制与Logback等框架集成,实现日志管理的灵活性和解耦。文章还对比了SLF4J与JCL的绑定原理,强调了SLF4J的静态绑定优于JCL的动态绑定。
摘要由CSDN通过智能技术生成

日志实现框架

Log4j

Log4j是目前最为流行的Java日志框架之一,1999年发布首个版本,2012年发布最后一个版本,2015年正式宣布终止,官方也已不建议使用,并逐步被LogbackLog4j2等日志框架所替代,可是无法掩饰光辉历程,以及优良的设计理念。尽管Log4j有着出色的历史战绩,但早已不是Java日志框架的最优选择,还在使用该日志框架的项目往往是历史遗留问题。

Log4j API核心类:

  • 日志对象:org.apache.log4j.Logger
  • 日志级别:org.apache.log4j.Level
  • 日志管理器:org.apache.log4j.LogManager
  • 日志仓储:org.apache.log4j.spi.LoggerRepository
  • 日志附加器:org.apache.log4j.Appender
  • 日志过滤器:org.apache.log4j.spi.Filter
  • 日志格式布局:org.apache.log4j.Layout
  • 日志事件:org.apache.log4j.LoggingEvent
  • 日志配置器:org.apache.log4j.spi.Configurator
  • 日志诊断上下文:org.apache.log4j.NDCorg.apache.log4j.MDC

JUL

Java LoggingJava标准的日志框架,也称为Java Logging API,即JSR 47。从Java 1.4版本开始,Java Logging成为Java SE的功能模块,其实现类存放在java.util.logging包下。

使用Java Logging最大好处是它属于JDK内置,不需要添加额外依赖,默认配置文件位于:jre/lib/logging.properties,具体可以查看LogManagerreadConfiguration方法,启动的时候可以通过设置VM参数java.util.logging.config.file指定配置文件。

Java Logging API核心类:

  • 日志对象:java.util.logging.Logger
  • 日志级别:java.util.logging.Level
  • 日志管理器:java.util.logging.LogManager
  • 日志处理器:java.util.logging.Handler
  • 日志过滤器:java.util.logging.Filter
  • 日志格式器:java.util.logging.Formatter
  • 日志记录:java.util.logging.LogRecord
  • 日志权限:java.util.logging.LoggingPermission
  • 日志JMX接口:java.util.logging.LoggingMXBean

Logback

LogbackLog4j创始人设计的又一个开源日志框架,可以看成Log4j的替代者,在架构和特征上有着相当提升。Logback当前分成三个模块:

  • logback-core:其它两个模块的基础模块,提供一些关键的通用机制
  • logback-classic:地位和作用等同于Log4j,也被认为是Log4j的一个改进版,并且实现了SLF4J API
  • logback-accesslogback-access访问模块与TomcatJettyServlet容器集成配置Http访问的access日志

e87ad5cee765f494f2017f9d917ac0ef.png

Logback核心类:

  • 日志对象:ch.qos.logback.classic.Logger
  • 日志级别:ch.qos.logback.classic.Level
  • 日志管理器:ch.qos.logback.classic.LoggerContext
  • 日志附加器:ch.qos.logback.core.Appender
  • 日志过滤器:ch.qos.logback.core.filter.Filter
  • 日志格式布局:ch.qos.logback.core.Layout
  • 日志事件:ch.qos.logback.classic.spi.LoggingEvent
  • 日志配置器:ch.qos.logback.classic.spi.Configurator
核心架构

d631939a0998870669878db9d58912f4.png

上图是logback日志框架的输出日志的核心流程:

  • Logger作为日志框架的代言人,程序开发通过Logger即可完成日志输出工作;
  • Logger拿到程序传入的日志信息,通过Filter进行过滤,一般是对日志级别Level进行过滤,然后将符合条件的日志封装成LoggingEvent对象,并交接给关联的Appender对象进行后续处理;
  • Appender完成日志输出工作,一般Appender也会有个Filter过滤流程,将过滤成功的日志输出到控制台、文件、网络等操作;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值