上文讲述了 SpringBoot项目的构建 与配置文件的使用 ,下面来介绍 SpringBoot 的日志文件 , 日志在程序 中起到的作用是很大的 , 谁写的程序能不报错误呢, 日志就是一种让你快速找到错误的方式! , 当然日志也不止是寻找错误 ,还有很多的用法 , 比如登录日志 ,记录谁来登录等等, 但对于我们程序员来说 , 最重要的就是定位错误
Spring Boot 项⽬在启动的时候默认就有⽇志输出,如下图所示:
这些日志是默认的 , SpringBoot 内置了日志框架 , 一般我们是自定义日志来打印的, 而且日志是默认打印在控制台上的, 是不能保存的 , 所以 我们还要学习如何把日志永久保存下来
在程序中得到⽇志对象 , 要在程序中获取到日志, 就需要一个类 ,LoggerFactory ,如下代码所示
private static Logger logger = LoggerFactory.getLogger(UserController.class);
⽇志⼯⼚需要将每个类的类型传递进去,这样我们才知道⽇志的归属类,才能更⽅便、更直观的定位到问题类, Logger 对象是属于 org.slf4j 包下的,不要导⼊错包
Spring Boot 中内置了⽇志框架 Slf4j,所以咱们可以直接在程序中调⽤ slf4j 来输出⽇志
打印日志 - 打印效果
logger.info("--------------要输出⽇志的内容----------------");
trace:微量,少许的意思,级别最低;
debug:需要调试时候的关键信息打印;
info:普通的打印信息(默认⽇志级别);
warn:警告,不影响使⽤,但需要注意的问题;
error:错误信息,级别较⾼的错误⽇志信息;
fatal:致命的,因为代码异常导致程序退出执⾏的事件。
⽇志级别配置只需要在配置⽂件中设置“logging.level”配置项即可,如下所示:
logging:
level:
root: error
以上的⽇志都是输出在控制台上的 , 在想要永久保存日志的情况下 , 就需要在配置⽂件中指定⽇志的存储⽬录或者是指定⽇志保存⽂件名之后,Spring Boot 就会将控制台的⽇志写到相应的⽬录或⽂件下了。
# 设置⽇志⽂件的⽬录
logging:
file:
path: D:\\home\\ruoyi
# 设置⽇志⽂件的⽂件名
logging:
file:
name: D:\\home\\ruoyi\\spring-1204.log
当然 有更简单的方式 , 使用神器 L:ombok来解决这个日志问题
① 添加Lombok依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<optional>true</optional>
</dependency>
然后在类上 加上@Slf4j注解, 最后打印用log对象输出日志即可
@Getter ⾃动添加 getter ⽅法
@Setter ⾃动添加 setter ⽅法
@ToString ⾃动添加 toString ⽅法
@EqualsAndHashCode ⾃动添加 equals 和 hashCode ⽅法
@NoArgsConstructor ⾃动添加⽆参构造⽅法
@AllArgsConstructor ⾃动添加全属性构造⽅法,顺序按照属性的定义顺序
@NonNull 属性不能为 null
@RequiredArgsConstructor ⾃动添加必需属性的构造⽅法,final + @NonNull 的
属性为必需
而@ Data 注解则提供了 上述大多数的方法 , 除了@NoArgsConstructor ⾃动添加⽆参构造⽅法
@AllArgsConstructor ⾃动添加全属性构造⽅法,顺序按照属性的定义顺序
@NonNull 属性不能为 null 这三个.