项目开发过程中,日志必不可少。在Springboot框架中常见日志组件有log4j、log4j2、logback和Slf4j关系和概念请看其他同学的博客《日志架构选型:彻底搞懂Log4j、Log4j2、LogBack、Slf4j之间的关系_slf4j和log4j2-CSDN博客》
这里我们学习log是为项目开发实操准备的我将会直接使用 lombok 来实现。
一、基础准备
1)创建一个基础springboot项目
我们的项目名称为lengfeng-04,创建方法请看我的文章《Springboot入门篇-CSDN博客》
2)添加lombok依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
3)配置log输出文件路径
至此准备工作完成,当然有些同学会说,还有持久化配置等配置呢。我觉得那是可选项,可以将log输出到log文件,也可保存到数据库 。这里我只是以保存到文件为例,只需在 application配置文件中添加 log输出文件路径即可。
# 设置日志文件的目录 logging.file.path=D:\\home\\log
4)检验log
运行项目,如果正常则会在 输出目录下生成一个 spring.log文件,结果如下图:(证明已经完成准备工作)
二、使用方法
1)日志级别
日志级别以及优先级排序:OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
在Java中,日志级别通常用于指定日志信息的重要性或严重程度。不同的日志框架可能有不同的日志级别定义,但最常见的有以下几种:
-
TRACE
(跟踪):最低级别,一般用于开发调试。 -
DEBUG
(调试):通常用于开发阶段,输出一些调试信息。 -
INFO
(信息):用于输出一些一般信息,这是默认级别。 -
WARN
(警告):表明会出现潜在问题,但不是错误。 -
ERROR
(错误):表明发生了错误,但不是严重错误。 -
FATAL
(致命):表明发生了严重错误,可能会导致应用程序中止。 -
OFF
(关闭):最高级别,用于关闭日志记录。
在实际应用中,可以通过配置文件来设置日志的全局级别,只有优先级高于或等于配置级别的日志信息才会被记录。
2)基础用法
这里我直接在 Test中演示怎么使用log,非常简单
1) 先添加 @log4j2注解
2)直接使用 log.日志级别关键字(“日志信息”)
结果如下:
package com.nc.lengfeng04; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest @Log4j2 class Lengfeng04ApplicationTests { @Test void contextLoads() { } @Test void testLog() { log.info("这是一条信息级别的日志"); log.warn("这是一条警告级别的日志"); log.error("这是一条错误级别的日志"); } }
在我们先前配置的输出日志文件中也会有相关记录
结语
本文为 springboot下简单使用log做演示。我坚信学习是乏味的,只有才实操看到结果才会有兴趣一步一去探索,log的知识远远不止文中所述,大家有兴趣请自行按需学习。另外本文也是为 《Springboot项目实战--AI 社区论坛(一)-- 项目介绍-CSDN博客》做准备的。