一、slf4j+log4j2
maven的jar包依赖:
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.11.1</version> </dependency>
二、slf4j+logback
maven的jar包依赖:
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
三、slf4j的桥接
jul-to-slf4j
是从jul桥接到slf4j
log4j-over-slf4j
是从log4j桥接到slf4j
jcl-over-slf4j是commons-logging桥接到slf4j
四、备注
commons-logging的简写为jcl
java.util.logging的简写为jul,为java内置的日志类型
五、slf4j日志架构
六、slf4j-ext的用处:
详情见:slf4j-ext
七、logback配置:
Logback默认配置的步骤:
1、尝试在classpath下查找文件 logback.groovy
2、如果文件不存在,则查找文件logback-test.xml
3、如果文件不存在,则查找文件logback.xml
4、如果都不存在,logback用BasicConfigurator自动对自己进行配置,这会导致记录输出到控制台。
打印配置详情可以通过下面的语句:
import org.slf4j.LoggerFactory;
import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.core.util.StatusPrinter; LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); StatusPrinter.print(lc);