springboot2.1.5 整合slf4j
时间: 2024-01-24 07:17:15 浏览: 88
首先,需要在 pom.xml 中添加 slf4j 相关的依赖:
```xml
<dependencies>
<!-- SpringBoot Web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- slf4j 相关依赖 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.26</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
```
其中,slf4j-api 是 slf4j 的接口,logback-classic 是 slf4j 的实现。
接下来,需要在 src/main/resources 目录下添加 logback.xml 配置文件:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- 控制台输出日志格式 -->
<encoder>
<pattern>%-5level %d{HH:mm:ss.SSS} [%thread] %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<appender name="file" class="ch.qos.logback.core.FileAppender">
<!-- 日志文件路径 -->
<file>logs/myapp.log</file>
<encoder>
<!-- 日志文件输出日志格式 -->
<pattern>%-5level %d{HH:mm:ss.SSS} [%thread] %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<!-- 控制台输出日志级别 -->
<appender-ref ref="console" />
<!-- 日志文件输出日志级别 -->
<appender-ref ref="file" />
</root>
</configuration>
```
其中,控制台输出和日志文件输出的格式可以根据自己的需要进行调整。
最后,在代码中使用 slf4j 来输出日志:
```java
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
private Logger logger = LoggerFactory.getLogger(HelloController.class);
@GetMapping("/hello")
public String hello() {
logger.info("Hello, World!");
return "Hello, World!";
}
}
```
这里使用了 LoggerFactory 类来获取 Logger 对象,然后使用 Logger 对象输出日志。在上面的例子中,输出的日志级别是 info,所以只有 info 及以上级别的日志会被输出到控制台和日志文件中。如果需要输出 debug 或者其他级别的日志,可以在 logback.xml 中进行配置。
阅读全文