【区别】Slf4j、log4j、logback
2017-12-05 17:36
253 查看
日志框架
日志框架中,经常出现的slf4j、log4j、logback、slf4j-log4j、log4j-over-slf4j等等,让人混淆。为此,特意查找整理了一下,盗贴个图先:上图中:
接口:将所有日志实现适配到了一起,用统一的接口调用
实现:目前主流的日志实现
旧日志到slf4j的适配器:如果使用了slf4j,但是只想用一种实现,想把log4j的日志体系也从logback输出,这个是很有用的
slf4j到实现的适配器:如果想制定slf4j的具体实现,需要这些包
slf4j + logback
slf4j: slf4j是一个日志系统的封装,对外提供统一的API,不提供日志具体实现。logback:和log4j同为日志的一种具体实现。
dependency:
slf4j-api (slf4j接口)
logback-classic (logback服务于slf4j的"驱动")
logback-core (logback日志实现)
如果系统有依赖log4j日志体系,想统一对接到logback,则需要依赖:
log4j-over-slf4j
同理,如果是slf4j+log4j组合是怎样呢?
dependency:
slf4j-api (slf4j接口)
slf4j-log4j (log4j 服务于slf4j的"驱动")
log4j (log4j 日志实现)
结合上段中的日志架构图,各层次比较清晰了,是不是很简单
使用
应用中不要直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志方式处理统一。import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(Abc.class);
相关文章推荐
- common-logging、log4j、slf4j、logback 日志组件的区别
- slf4j、log4j、logback关系介绍
- Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java 日志 slf4j, log4j, logback
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- slf4j, log4j, logback, java.util.Logging关系
- Logback与Log4J的区别
- log4j,logback,slf4j三者的关系
- java日志组件介绍(common-logging,log4j,slf4j,logback )+ java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java日志管理:common-logging、slf4j、log4j、logback的关系
- slf4j、jcl、jul、log4j1、log4j2、logback大总结
- Java日志框架slf4j、jcl、jul、log4j1、log4j2、logback大总结
- logback与Log4J的区别
- log4j_logback_slf4j项目配置中的简单总结
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java调试的变迁:从System.out.println到log4j,到logback, 到slf4j(2)