Log4j2 Logback SLF4J 关系

Log4j2 Logback SLF4J 关系

        你的代码
            ↓
         SLF4J(门面)
            ↓
   ┌───────────────┐
   ↓               ↓
Logback         Log4j2
(实现)         (实现)

SLF4J

  • SLF4J: Simple Logging Facade for Java

  • 定位: 它不是日志框架;它是 日志门面(Facade)

    • 提供统一 API
    • 解耦具体日志实现
    • 让你随时替换日志框架

Logback

  • 定位:具体日志实现框架

    • 日志输出
    • 文件写入
    • 切割
    • 异步
    • 格式化
  • 特点

    • Spring Boot 默认使用
    • 性能好
    • 配置简单
    • 与 SLF4J 作者是同一个人

Log4j2

  • 定位:具体日志实现框架; 和 Logback 属于同一级别。

  • 特点:

    • Apache 出品
    • Async Logger 性能更强
    • 企业级可扩展性强
    • 配置结构更复杂

性能对比

维度 Logback Log4j2
默认支持 Spring Boot 默认 需替换
异步能力 AsyncAppender Async Logger(更强)
配置复杂度 简单 稍复杂
极端高吞吐 较好 更好

总结

SLF4J = 日志接口

Logback = 默认实现

Log4j2 = 替代实现

本文为原创内容,作者:闲鹤,原文链接:https://blog.uwenya.cc/1646.html,转载请注明出处。

发表评论