spring 中使用 SLF4J Log4j2 gradle 依赖
时间: 2024-05-03 10:22:17 浏览: 315
在 Spring 中使用 SLF4J 和 Log4j2,需要在 Gradle 中添加以下依赖:
```
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
implementation 'org.slf4j:slf4j-api:1.7.30'
implementation 'org.slf4j:jul-to-slf4j:1.7.30'
implementation 'org.slf4j:log4j-over-slf4j:1.7.30'
implementation 'org.apache.logging.log4j:log4j-core:2.14.1'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.14.1'
}
```
其中,`spring-boot-starter-log4j2` 包含了 Log4j2 的依赖,`slf4j-api` 是 SLF4J 的接口,`jul-to-slf4j` 和 `log4j-over-slf4j` 是将 JUL 和 Log4j 转换为 SLF4J 的实现,`log4j-core` 和 `log4j-slf4j-impl` 是 Log4j2 的实现。
在 Spring 中配置 Log4j2,需要在 `src/main/resources` 目录下创建一个 `log4j2.xml` 文件,配置如下:
```
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
```
这里使用了一个控制台日志输出的 Appender,配置了日志输出的格式和级别。最后将 Appender 添加到 Root Logger 中即可。
在 Spring 中使用日志,可以直接使用 SLF4J 的接口,例如:
```
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass {
private static final Logger logger = LoggerFactory.getLogger(MyClass.class);
public void myMethod() {
logger.debug("Debug message");
logger.info("Info message");
logger.warn("Warn message");
logger.error("Error message");
}
}
```
这里使用了 `LoggerFactory.getLogger` 方法创建了一个 Logger 实例,然后使用不同级别的日志输出信息。
阅读全文