• SpringBoot—日志文件


    日志的作用

    • 排除和定位问题
    • 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
    • 记录系统的操作日志,方便数据恢复和定位操作人
    • 记录程序执行时间,方便为以后优化程序提供数据支持。

    自定义日志打印

    1. 在一个类中先获取到打印日志对象(日志框架提供的日志对象,而日志框架默认已经集成到spring boot里了)

    在这里插入图片描述

    1. 使用日志对象提供的方法实现日志的打印。
    @Controller
    @ResponseBody
    public class UserController {
    
        //1.先得到日志对象
        private final static Logger log= LoggerFactory.getLogger(UserController.class);//设置当前类的类型
        @RequestMapping("/sayhi")
        public void sayHi(){
            //2.使用日志对象提供的打印方法进行日志打印
            log.trace("我是 trace");
            log.debug("我是 debug");
            log.info("我是 info");
            log.warn("我是 warn");
            log.error("我是 error");
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    这里是引用

    日志级别

    (1) track:少许(级别最低)
    (2) debug:调试日志
    (3) info:普通信息日志(默认的日志级别)
    (4) warn:警告日志
    (5) error:错误日志
    (6) fatal:致命的(系统输出的日志,不能自定义打印)

    全局日志级别设置

    在配置文件中设置
    在这里插入图片描述

    这里是引用

    2.设置局部日志级别

    # 设置局部文件夹的日志级别
    logging.level.com.example.demo.controller=trace
    
    • 1
    • 2

    这里是引用

    当存在局部日志级别和全局日志级别设置时,那么当访问局部日志时,使用的是局部日志级别。也就是局部日志级别的优先级 大于 全局日志级别。

    # 设置全局的日志级别
    logging.level.root=info
    # 设置局部文件夹的日志级别
    logging.level.com.example.demo.controller=trace
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这里是引用

    日志持久化

    将日志永久的保存到磁盘的某个位置。

    1. 在配置文件中设置日志的保存路径,当设置了保存路径之后,那么日志就会自动的进行持久化。
    # 设置日志的保存目录
    logging.file.path=E:/directry/
    
    • 1
    • 2
    1. 在配置文件中设置日志的保存名称,日志会自动进行持久化。
    #设置日志的保存名称
    logging.file.name=E:/directry/spring-boot.log
    
    • 1
    • 2

    更简单的实现自定义日志的打印

    添加lombok到当前项目

    • 先下载editStarters插件。【file—settings—plugins】
    • 在pom.xml 中,右键,generate,选择edit starters
      在这里插入图片描述

    在这里插入图片描述

    点击OK

    @Controller
    @ResponseBody
    @Slf4j //替代了之前需要通过 LoggerFactory.getLogger操作
    public class UserService {
        @RequestMapping("/sayhi2")
        public void sayHi2(){
            log.trace("我是trace");
            log.debug("我是debug");
            log.info("我是info");
            log.warn("我是warn");
            log.error("我是error");
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    网络延迟及故障分析与排查实战
    【JavaWeb】Servlet系列 --- 使用纯Servlet做一个单表的CRUD操作(oa小项目,超详细笔记)
    【第7篇】AI语音交互原理介绍
    Mysql行级锁
    关于docker无法正常下载镜像的问题
    【Java--数据结构】链表经典OJ题详解(上)
    Swift ——协议
    Redis的发布与订阅
    Android持久化技术,好内存不如烂存储
    安科瑞ANet通信管理机在电力监控系统中的应用-Susie 周
  • 原文地址:https://blog.csdn.net/m0_62824239/article/details/125889549