基础 | 日志 | 体系介绍

INDEX

      • 总览图
      • 上图的说明

总览图

基础 | 日志 | 体系介绍_第1张图片

上图的说明

日志体系的结构大约可以概括为

  • 日志门面
  • 日志绑定层
  • 日志实现
  • 日志桥接层

slf4j 是 日志门面,所谓日志门面可以理解为日志总接口
slf4j-log4j、log4j-slf4j-impl 是 日志绑定层,日志绑定层的作用是将 日志门面 绑定到 日志实现
log4j-1.xx、log4j-2.xx 是 日志实现,实际的提供日志功能
log4j-over-slf4j、log4j-to-slf4j 是 日志桥接层,日志桥接层的作用是将 日志实现 桥接回 日志门面 上,并以此为基础进行再次绑定

如上图,绑定和桥接均有方向标识,在实际项目中,按方向成环即死
以 slf4j-api --> slf4j-log4j --> log4j-1.xx --> log4j-over-slf4j --> slf4j-api 为例:

  • slf4j-api:我连着 slf4j-log4j,实际功能找 log4j-1.xx
  • log4j-1.xx:我连着 log4j-over-slf4j ,实际功能得找门面,让它分配
  • slf4j-api:我连着 slf4j-log4j,实际功能找 log4j-1.xx (•́へ•́╬)
  • log4j-1.xx:我连着 log4j-over-slf4j ,实际功能得找门面,让它分配 (。•ˇ‸ˇ•。)
  • slf4j-api:我连着 slf4j-log4j,实际功能找 log4j-1.xx [○・`Д´・ ○]
  • log4j-1.xx:我连着 log4j-over-slf4j ,实际功能得找门面,让它分配 (╯‵□′)╯︵┻━┻

日志桥接层 的作用:日志桥接层 引用了对应的 日志实现 的依赖,并持有其所有关键全类名,会使这些类连接会门面
比如 log4j-to-slf4j 可以将 org.apache.log4j.logging.Logger 连接回 org.slf4j.Logger

你可能感兴趣的:(项目通用,java技术,单元测试,junit)