SpringBoot日志文件

4 篇文章 0 订阅

目录

1. 🔍日志有什么用?

2. 🔍自定义日志打印

2.1 🚀在程序中得到日志对象

3.2 🚀使用日志对象打印日志

 3. 🔍日志级别

3.1   🚀日志级别有什么用?

3.2 🚀日志级别的分类

 3.3 🚀日志级别的使用

 4. 🔍日志持久化

4.1 🚀保存目录 

4.2 🚀保存名称

5. 🔍lombok -- 日志输出


1. 🔍日志有什么用?

 

🚗 1. 最重要的作用就是排除和定位问题。

🚗 2.  通过登录日志,方便分析用户是否正常登录还是恶意破解用户。

🚗 3. 记录系统的操作日志,方便数据恢复和定位操作人。

🚗 4. 记录程序的执行时间,方便为以后优化程序提供数据支持。

2. 🔍自定义日志打印

Spring Boot 项目在启动的时候默认就有日志的输出 

🚗 1. Spring Boot 内置了日志框架。

🚗 2. 默认情况下,输出的日志并不是开发者定义和打印的。

🚗 3. 日志默认是在控制台上打印的,并不能保存。

默认情况下,日志是自动打印的,开发人员也是能够自己打印日志的。

 自定义打印日志实现的步骤:

🚗 1. 在程序中得到日志对象。

🚗 2. 使用日志独享的相关语法输出要打印的内容。

2.1 🚀在程序中得到日志对象

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;

@Controller
public class UserController {
    //1. 先得到日志打印对象
    private static Logger log = LoggerFactory.getLogger(UserController.class);
}
⽇志⼯⼚需要将每个类的类型传递进去,这样我们才知道⽇志的归属类,才能更⽅便、更直观的定位到问题类。
注意:Logger 对象是属于 org.slf4j 包下的

3.2 🚀使用日志对象打印日志

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @program: springboot-2
 * @description:
 * @author: DRY
 * @create: 2022-07-11 14:15
 **/
@Controller
public class UserController {
    //1. 先得到日志打印对象
    private static Logger log = LoggerFactory.getLogger(UserController.class);

    @RequestMapping("/sayHi")
    @ResponseBody  //返回一个非静态页面数据
    public String sayHi(String name) {

        // 2. 打印日志
        log.trace("我是 trace ");
        log.debug("我是 debug ");
        log.info("我是 info ");
        log.warn("我是 warn ");
        log.error("我是 error ");
        
        return "你好:" + name;
    }
}

打印效果: 

 3. 🔍日志级别

3.1   🚀日志级别有什么用?

🚗 1. 日志级别就是为了筛选符合目标的日志信息。比如设置日志级别为error ,南无就可以只看程序的报错日志了,普通的日志和业务日志就可以忽略。

🚗 2. 日志级别可以控制不同环境下,一个程序是否需要打印日志。

3.2 🚀日志级别的分类

日志的级别为:

日志执行顺序(1-6级别从低到高,越往下收到的消息越多)

🚗 1. trace:微量,少许,级别最低;

🚗 2. debug:需要调试时候的关键信息打印

🚗 3. info:普通的打印信息

🚗 4. warn:警告,不影响使用,但有需要注意的问题

🚗 5. error:错误信息,级别较高的错误日志信息

🚗 6. fatal:致命的,因代码异常导致程序退出执行的事件

 3.3 🚀日志级别的使用

日志级别精确化设置:

 

 4. 🔍日志持久化

将日志永久的保存到磁盘

🚗 1. 在配置文件中设置日志的保存目录

🚗 2. 在配置文件中设置日志的保存文件名

4.1 🚀保存目录 

application.properties中设置: 

 

 application.yml中设置:

 

4.2 🚀保存名称

application.properties中设置: 

 application.yml中设置:

5. 🔍lombok -- 日志输出

 每次都使⽤ LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍,比较麻烦,可以使⽤ lombok 来更简单的输出日志。(但是没有办法去调试)

添加lombok :

 

 

 

lombok导入成功

也可以直接导入lombok依赖。

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@Slf4j   //相当于LoggerFactory.getLogger(UserController.class) 
public class StudentController {
    @RequestMapping("/sayhi2")
    public String sayHi2() {
        log.info("student 里面的info");
        log.warn("student 里面的warn");
        log.error("student 里面的error");
        return "你好:student ";
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值