1. 框架类型
现今,Java 日志领域被划分为两大阵营:Commons Logging 阵营和 Slf4j 阵营。
log4j
apache基金会项目中的一员,具体的日志实现方案
java util logging(JUL)
sun官方日志实现
commons logging
apache推出,一套java日志接口(门面接口),支持运行时动态加载日志组件的实现,底层实现可以是log4j/JUL
slf4j
simple logging facade for java,Ceki Gülcü离开apache后创建,一套java日志接口(门面接口),类似commons logging,本身没有日志的实现
logback
Ceki Gülcü离开apache后创建,slf4j的实现,具体的日志实现方案
log4j2
log4j的升级,具有logback的所有特性,不兼容log4j
2. 常用组合方式
(1)Slf4j 与 Logback 组合使用
优点:slf4j限制少,使用范围广;logback拥有更好的性能;logback文档免费
(2)Commons Logging 与 Log4j 组合使用
缺点:性能低;开销更高;log4j只提供部分免费文档
3. 补充说明
(1)门面模式:门面模式是软件工程中常用的一种软件设计模式,也被称为正面模式、外观模式。它为子系统中的一组接口提供一个统一的高层接口,使得子系统更容易使用