下面就为大家讲解一下“SpringBoot3集成SLF4J+logback进行日志记录的实现”的完整攻略。
1. 引入相关依赖
在SpringBoot的pom.xml文件中添加SLF4J和logback的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.3.12.RELEASE</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
2. 配置logback.xml文件
我们需要在classpath根目录下创建logback.xml文件,文件内容如下所示:
<configuration>
<!-- 定义日志的输出位置 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 设置日志级别 -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
3. 在代码中使用SLF4J接口
在代码中使用SLF4J接口,例如:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Example {
private static final Logger logger = LoggerFactory.getLogger(Example.class);
public void doSomething(){
logger.info("Hello, World!");
}
}
4. 进行日志测试
在代码中调用doSomething()方法,控制台将会输出“Hello, World!”日志信息,说明集成成功。
示例说明1
假设我们需要在一个SpringBoot应用中添加日志记录功能,同时我们希望把日志记录在一个独立的文件中,而不是控制台。则可以使用以下logback.xml文件配置:
<configuration>
<!-- 定义日志的输出位置 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/${appName}/mylog.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/${appName}/mylog.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 设置日志级别 -->
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
示例说明2
如果我们希望在日志信息中输出方法的参数和返回值,可以使用以下代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Example {
private static final Logger logger = LoggerFactory.getLogger(Example.class);
public void demo(int i){
logger.info("Input is: {}", i);
int result = i + 1;
logger.info("Output is: {}", result);
}
}
通过使用“{}”占位符,在日志记录中拼接上方法的参数和返回值即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot3集成SLF4J+logback进行日志记录的实现 - Python技术站