想建一个自己的网站,wordpress登陆改图标和连接,深圳注册公司地址有什么要求,设计素材网站黄金烤肠目录
1.如何使用日志
2.自定义打印日志
3.日志级别
3.1 日志从低到高级别
3.2 日志级别设置
为什么 Spring Boot 可以打印日志#xff1f;并设置日志级别#xff1f;
4.日志的持久化
5.lombok——更加简单的输出日志
5.1 使用slf4j 注解输出日志
5.2 lombok 执行原…目录
1.如何使用日志
2.自定义打印日志
3.日志级别
3.1 日志从低到高级别
3.2 日志级别设置
为什么 Spring Boot 可以打印日志并设置日志级别
4.日志的持久化
5.lombok——更加简单的输出日志
5.1 使用slf4j 注解输出日志
5.2 lombok 执行原理 日志是程序的重要部分想象⼀下如果程序报错了不让你打开控制台看日志那么你能找到报错的原因吗
日志的功能
记录用户登录日志⽅便分析⽤户是正常登录还是恶意破解⽤户记录系统的操作日志⽅便数据恢复和定位操作人记录程序的执行时间⽅便为以后优化程序提供数据⽀持等等
1.如何使用日志
spring boot 默认打印日志 2.自定义打印日志
通过日志工厂得到日志对象通过日志对象提供打印方法实现打印
1️⃣在程序中得到日志对象
在程序中获取日志对象需要使用日志工厂 LoggerFactory注意Logger 对象是属于 org.slf4j 包下的不要导⼊错包
//得到日志对象
private static Logger logger LoggerFactory.getLogger(UserController.class); 面试问题spring或者项目中有没有使用到设计模式即像如 LoggerFactory 是一个工厂模式BeanFactory也是工厂模式 2️⃣使用日志对象打印日志
//2.使用日志对象提供 API 打印日志
String msg 学习 springboot;
log.trace(trace - msg);
log.info(info - msg);
log.debug(debug - msg);
log.warn(warn - msg);
log.error(error - msg);
3.日志级别
日志的作用 筛选重要信息比如设置日志级别为 error那么就可以只看程序的报错日志了对于普通的调试日志和业务日志就可以忽略了从而节省开发者信息筛选的时间 3.1 日志从低到高级别
trace微量、少许、痕迹日志级别最低debug调试日志级别需要调试时候的关键信息打印info普通默认日志级别普通的打印信息warn警告日志级别不影响使⽤但需要注意的问题error错误日志级别fatal致命的日志级别因为代码异常导致程序退出执行的事件级别最高
3.2 日志级别设置
日志级别配置只需要在配置文件中设置“logging.level”配置项即可
logging.level.rootwarn 此时只可以看到大于等于 warn 日志级别的日志 从这里可以看出日志级别的作用——过滤信息将业务不需要的日志屏蔽掉 为什么 Spring Boot 可以打印日志并设置日志级别
因为 Spring Boot 内置了两个日志框架SLF4J LogBack
LogBack最底层实现日志相关操作的框架
SLF4J让开发者使用和调用的框架
给文件夹单独设置日志级别
# 当前项目默认的日志级别
logging.level.rootwarn
# 给 Controller 文件夹单独设置日志级别
logging.level.com.example.demo.controllerdebug
4.日志的持久化
简化将日志保存到磁盘
设置日志保存路径
#设置日志保存路径
logging.file.pathE:\\springboot_log\\
设置日志保存文件名
#设置日志的保存文件名
logging.file.nameE:\\springboot_log\\springboot.log
5.lombok——更加简单的输出日志
之前使用 LoggerFactory.getLogger(xxx.class) 比较繁琐
private static Logger log LoggerFactory.getLogger(LogController.class);
接下来说说更加简单的输出日志 添加 lombok 框架⽀持 使用 slf4j 注解输出日志
1️⃣idea 安装 lombok 插件 2️⃣在项目中添加 lombok 依赖 3️⃣使用 lombok 的方式编写代码
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;Getter
Setter //相当于调用 get 和 set 方法
ToString
public class Student {private int id;private String name;private String password;public static void main(String[] args) {Student student new Student();student.setId(1);student.setName(张三);student.setPassword(123456);System.out.println(student.toString());}
} 5.1 使用slf4j 注解输出日志
RestController
Slf4j //当前的类中就可以直接使用 log 对象Slf4j 产生一个 log 对象直接使用
public class LogController2 {RequestMapping(/log2)public void log2() {log.trace(trace log2);log.debug(debug log2);log.info(info log2);log.warn(warn log2);log.error(error log2);}} lombok 能够打印日志的密码就在 target 目录里面target 为项目最终执行代码 这个时候 Slf4j 相当于生成一个 log对象 5.2 lombok 执行原理 Lombok 执行原理通过编译生成代码的时候进行翻译 上述代码进行编译在 target 下边生成字节码idea 会将字节码反编译成代码展示出来 这个时候可以看到已经没有 Lombok 的 set 和 get 注解取而代之的是 set 和 get 方法相当于 在编译期的时候生成注解所对应的方法