下面为你综合整理了 SLF4J + Logback、Log4j2 两种主流日志方案的依赖和典型用法,适用于 Java 项目(以 Maven 为例)。
1. SLF4J + Logback
1.1 Maven 依赖
<!-- SLF4J API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.13</version>
</dependency>
<!-- Logback 实现 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.4.14</version>
</dependency>
1.2 典型用法
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class MyClass {
private static final Logger log = LoggerFactory.getLogger(MyClass.class);public void addTask(Object task) {
log.debug("task 添加成功 ,{}", task);
}
}
2. Log4j2
2.1 Maven 依赖
<!-- Log4j2 API 和核心实现 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.20.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.20.0</version>
</dependency>
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;public class MyClass {
private static final Logger log = LogManager.getLogger(MyClass.class);public void addTask(Object task) {
log.debug("task 添加成功 ,{}", task);
}
}
3. SLF4J 门面 + Log4j2 实现(可选)
如果你想用 SLF4J 的 API,但底层用 Log4j2:
<!-- SLF4J API -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.13</version>
</dependency>
<!-- Log4j2 作为 SLF4J 的实现 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j2-impl</artifactId>
<version>2.20.0</version>
</dependency>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;public class MyClass {
private static final Logger log = LoggerFactory.getLogger(MyClass.class);public void addTask(Object task) {
log.debug("task 添加成功 ,{}", task);
}
}
5. 参考资料
- SLF4J 官网 SLF4J Manual
- Logback 官网 Logback Home
- Log4j2 官网 https://logging.apache.org/log4j/2.x/