slf4j、log4j、logback 三者之间的关系看下面这张图就比较清晰了:
slf4j 是接口,而 log4j 与 logback 是实现。
log4j 与 logback 各自依赖的 jar 包在这篇文章里有提到
logj4 依赖(版本根据自己项目来定,这里不一定合适):
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
logback 依赖:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
另外,log4j2 是 log4j 的升级版本,其优点可以看这里,文章里有提到异步输出、低延迟、同步与异小混合使用的特点。