欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > 【SpringBoot】讲清楚日志文件lombok

【SpringBoot】讲清楚日志文件lombok

2025/5/11 7:03:47 来源:https://blog.csdn.net/m0_74824661/article/details/145940804  浏览:    关键词:【SpringBoot】讲清楚日志文件lombok
文章目录
  • 前言
  • 一、日志是什么?
  • 二、?志怎么??
  • 三.自定义打印日志
    • 3.1在程序中得到日志对象
    • 3.2使用日志打印对象
  • 四.?志级别
    • 4.1日志级别有什么用
    • 4.2 ?志级别的分类与使?
  • 五.日志持久化
  • 六.lombok
    • 6.1添加lobok依赖
    • 注意:使? @Slf4j 注解,在程序中使? log 对象即可输??志,并且只能使? log 对象才能输出, 这是 lombok 提供的对象名
    • 6.2lombok原理
    • 6.3lombok 更多注解说明
  • 总结

前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、日志是什么?

志是程序的重要组成部分,想象下,如果程序报错了,不让你打开控制台看志,那么你能找到报错的原因吗?
答案是否定的,写程序不是买彩票,不能完全靠猜,因此志对于我们来说,最主要的途就是排除和定位问题。
#除了发现和定位问题之外,我们还可以通过志实现以下功能:
1.记录户登录志,便分析户是正常登录还是恶意破解户。
2.记录系统的操作志,便数据恢复和定位操作。
3.记录程序的执时间,便为以后优化程序提供数据持。
4.以上这些都是志提供的常实的功能

二、志怎么?

Spring Boot 项在启动的时候默认就有志输出,如下图所示
在这里插入图片描述
这个就是我们说的日志,说明日志在springboot里是内置好的,那么我们应该怎么怎么自定义打印日志呢

三.自定义打印日志

3.1在程序中得到日志对象

在程序中获取志对象需要使志 LoggerFactory,如下代码所示

代码如下(示例):

// 1.得到?志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class
);

志需要将每个类的类型传递进去,这样我们才知道志的归属类,才能更便、更直观的定位到问题类
在这里插入图片描述
在这里插入图片描述

3.2使用日志打印对象

志对象的打印法有很多种,我们可以先使 info() 法来输出志,如下代码所示
在这里插入图片描述

package com.example.demo.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class LogController {// 1.得到日志对象private static Logger log =LoggerFactory.getLogger(TestController.class);@RequestMapping("/log")public void log() {String msg = "今天已经周二了。";log.trace("trace -> " + msg);log.debug("debug -> " + msg);log.info("info -> " + msg);log.warn("warn -> " + msg);log.error("error -> " + msg);}}package com.example.demo.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import java.time.LocalDateTime;//@Controller
//@ResponseBody
@RestController
@PropertySource(value = "classpath:application.properties",encoding = "utf-8")
public class TestController {@Value("${myimage.path}")private String myImage;@RequestMapping("/sayhi")public String sayHi() {System.out.println(LocalDateTime.now() +" 日志 " +"com.example.demo.controller.TestController");return "你好,Spring Boot -> " + myImage;}
}

四.志级别

4.1日志级别有什么用

1.志级别可以帮你筛选出重要的信息,如设置志级别为 error,那么就可以只看程序的报错志了,对于普通的调试志和业务志就可以忽略了,从节省开发者信息筛选的时间。
2.志级别可以控制不同环境下,个程序是否需要打印志,如开发环境我们需要很详细的信息,产环境为了保证性能和安全性就会输尽量少的志,通过志的级别就可以实现此需求。

4.2 志级别的分类与使

志的级别分为:
trace:微量,少许的意思,级别最低;
debug:需要调试时候的关键信息打印;
info:普通的打印信息(默认志级别);
warn:警告,不影响使,但需要注意的问题;
error:错误信息,级别较的错误志信息;
fatal:致命的,因为代码异常导致程序退出执的事件;
在这里插入图片描述

五.日志持久化

在这里插入图片描述
可以和我这样子配置
在这里插入图片描述
是在application.yml里写的,记得要俩个斜扛,一个是转义的

六.lombok

6.1添加lobok依赖

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
<optional>true</optional>
</dependency>

注意:使 @Slf4j 注解,在程序中使 log 对象即可输志,并且只能使 log 对象才能输出,

这是 lombok 提供的对象名

6.2lombok原理

lombok 能够打印志的密码就在 target 录,target 为项最终执的代码,查看 target 录,如下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.3lombok 更多注解说明

注解 作
@Getter 动添加 getter 法
@Setter 动添加 setter 法
@ToString 动添加 toString 法
@EqualsAndHashCode 动添加 equals 和 hashCode 法
@NoArgsConstructor 动添加参构造法
@AllArgsConstructor 动添加全属性构造法,顺序按照属性的定义顺序
@NonNull 属性不能为 null
@RequiredArgsConstructor 动添加必需属性的构造法,
final +@NonNull 的属性为必需

注解 作
@Data @Getter + @Setter + @ToString +
@EqualsAndHashCode +
@RequiredArgsConstructor +
@NoArgsConstructor
志注解
@Slf4j 添加个名为 log 的志,使 slf4j

总结

今天的博客,希望大佬们能在评论指出错误!~~???

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词