一、springboot3配置日志
1.application.properties文件中增加
# 对根目录设置
logging.level.root=info
# 设置日志文件的目录
logging.file.path=/root/xxxlogs
# 设置日志大小
logging.logback.rollingpolicy.max-file-size=100MB
2.pom.xml中引入
3.在需要打印日志的类中加上注解
@Slf4j
public class...
4.打印日志
log.info("...");
二、解释
1.获取日志对象
import org.slf4j.Logger; //必须导这个包
import org.slf4j.LoggerFactory;
@RestController
public class TestController {
private static final Logger log = LoggerFactory.getLogger(TestController.class);
Spring Boot 中内置了日志框架 Slf4j,可以使用一致的API来调用不同的日志记录框架;
一般每个类都有自己的日志文件因此getLogger方法参数推荐为当前类,日志文件不能轻易修改因此使用private static final
2.打印日志的方法
log.trace("...");
log.debug("...");
log.info("...");
log.warn("...");
log.error("...");
3.日志级别
trace:微量,少许的意思,级别最低;
debug:需要调试时候的关键信息打印;
info:普通的打印信息(默认⽇志级别);
warn:警告,不影响使用,但需要注意的问题;
error:错误信息,级别较⾼的错误⽇志信息;
fatal:致命的,因为代码异常导致程序退出执⾏的事件。
SpringBoot中日志级别从低到高依次为:trace < debug < info < warn < error < fatal,默认的级别是info。
application.properties中定义日志级别:
# 除了对根路径设置级别,还可以分别对不同的目录进行同时设置
# 对根目录设置
logging.level.root=error
# 对controller 目录设置一个级别
longing.level.com.example.demo.controller=trace
它们不会冲突,除了 com.example.demo.controller 下为 trace,其它地方都为error。
4.日志的持久化
设置日志文件的目录
logging.file.path=D:\\logging\\
程序启动时目录会自动创建
可以进一步精确到文件名
# 设置日志文件的文件名,注意这里是 name 属性
logging.file.name=D:\logging\mySpring.log
日志很多的情况下可以设置日志文件存储大小的最大容量,达到最大容量后自动地分成多个文件,支持的单位包括 KB、MB、GB 等,当日志文件达到指定大小后,将自动创建一个新的日志文件来继续记录日志信息,老文件会自动打成压缩包标记日期
# 设置日志大小的最大大小 100MB
logging.logback.rollingpolicy.max-file-size=100MB
5.借助 lombok 输出日志
给打印日志的类加上注解,然后直接使用log对象打印日志
@Slf4j //加上这个注解,它会自己生成一个日志对象,对象名叫“log”,直接引用。
...
log.trace("...");
log.debug("...");
log.info("...");
log.warn("...");
log.error("...");
...