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,转载请注明出处。