slf4j导入那个依赖_复杂Spring项目中SLF4J最佳使用姿势

一、Java日志体系概述

图1-1 Java日志体系概况

图1-1 展示了Java日志体系的三个主要部分:

日志门面接口(SLF4J、JCL)

一系列绑定和桥接

具体的日志实现

先来两个例子:

Spring项目中通过Commons Logging直接使用log4j

图1-2 通过Commons Logging使用log4j

本例中由于spring-core中原生依赖commons-logging,所以只需要添加log4j和log4j的配置文件就能work(当然引入其它依赖还会有解冲突的工作要做)。

Spring项目中通过SLF4J使用log4j

图1-3 Spring中通过SLF4J使用log4j

此例中比之前多引入了3个jar包并且还排除了commons-logging依赖。如果对此有疑问,请看后面的详细解说。

二、为什么要使用SLF4J

图2-1 列举几点简单的原因

三、SLF4J的最佳实践

现在越来越多项目使用SLF4J (为什么要使用SLF4j)作为一个日志门面,而不是使用古老的Commons Logging。这给复杂的Maven构建带来了新的挑战,因为SLF4J仅当依赖被正确配置时才能正常工作。为了搞清楚为什么如此,让我们来看看组成SLF4J中不同的组件。

slf4j-api 包含了SLF4J API,比如ÿ

你可能感兴趣的:(slf4j导入那个依赖)