我的理解slf4j是一个抽象的日志接口,并没有具体实现。我们可以通过slf4j集成各种日志框架logback,log4j,common-logging等框架都实现了这些接口
Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch 是log4j的改良版本
具有更快的实现:Logback的内核重写了,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,初始化内存加载也更小了。
首先我们看一段使用例子
protected Logger logger = LoggerFactory.getLogger(this.getClass()); @Test void testInfo() { logger.info("testffffffffffffff"); }
从入口往下看
org.slf4j.LoggerFactory#getLogger(java.lang.Class<?>)最终传入class name调以下方法
public static Logger getLogger(String name) { //<1>每种日志框架都有自己的LoggerFactor 这里就是根据集成的日志框架获得对应的factory ILoggerFactory iLoggerFactory = getILoggerFactory(); return iLoggerFactory.getLogger(name); }
原文:https://www.cnblogs.com/LQBlog/p/12156738.html