提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本次主要学习了如何在springboot中生成日志文件
一、生成log日志文件
Spring Boot 默认使用 Logback 作为日志框架。Logback 是 SLF4J 的原生实现,提供了高效的日志记录功能。默认情况下日志仅输出到控制台而不输出到文件。
1.日志级别 level
在 Spring Boot 的日志配置中,level 用于设置日志的记录级别。日志级别控制了哪些日志消息会被记录和输出。不同的级别可以帮助你在不同的环境中控制日志的详细程度。以下是各个日志级别的详细解释:
由低到高:ALL,TRACE, DEBUG, INFO, WARN, ERROR,FATAL,OFF
;
默认级别为INFO
2.实际使用
1.application.yaml 配置文件
logging:
file:
name: logs/myapp.log # 指定日志文件名和路径
level:
root: INFO # 设置根日志级别
com.it: DEBUG # 将 'com.example' 替换为你的包名,设置特定包的日志级别
pattern:
file: "%d{yyyy-MM-dd HH:mm:ss} - %c{1} - %msg%n" # 自定义日志格式
dateformat: '"yyyy-MM-dd HH:mm"' # 定义输出日期格式。
2.利用工厂类获取log
对象,用该对象写入日志信息
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class LogTest {
// 创建日志对象
private static final Logger log = LoggerFactory.getLogger(LogTest.class);
@Test
public void f1(){
// 写入日志信息
log.info("测试信息1");
}
}
3.运行测试类后查看项目目录,我们可以看到已经生成了与配置文件指定目录logs/myapp.log
相同的日志文件
二、@Slf4j注解
在lombok
中,提供了一种注释的方式,能自动创建log
对象,让我们便捷地调用
注意:使用lombok推荐jdk17及以下,否则很可能会报错
1.导入lombok
包
2.编写测试代码并运行
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest(classes = Main.class)
// @Slf4j注解,作用等效于LoggerFactory.getLogger
@Slf4j
public class LogTest2 {
@Test
public void f1(){
log.info("@slf4j测试");
}
}
3.再次查看日志文件
三.sql语句写入日志
这里基于mybatis-plus实现sql语句的写入
1.搭建好数据库查询需要的四层架构
2.修改 application 配置文件
# 连接池配置
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/db01
username: root
password: 010086
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
# mybatis-plus 开启日志输出
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
global-config:
db-config:
#所有表的主键id赋值方式改为自增
id-type: auto
#表加前缀搜索数据库
table-prefix: t_
#指定全局存储逻辑删除状态的列名
logic-delete-field: deleted
#指定未删除的状态值
logic-not-delete-value: 0
#指定已删除的状态值
logic-delete-value: 666
logging:
file:
name: logs/myapp.log # 指定日志文件名和路径
level:
root: INFO # 设置根日志级别
com.it: DEBUG # 将 'com.example' 替换为你的包名,设置特定包的日志级别
pattern:
file: "%d{yyyy-MM-dd HH:mm:ss} - %c{1} - %msg%n" # 自定义日志格式
dateformat: '"yyyy-MM-dd HH:mm"' # 定义输出日期格式。
3.测试结果
@SpringBootTest(classes = Main.class)
public class LogTest3 {
@Autowired
private UserMapper userMapper;
@Test
public void f1(){
// 执行一条查询语句
List<User> users = userMapper.selectList(null);
}
}