• SpringBoot日志文件


    目录

    日志级别

    设置日志级别

    日志持久化

    获取日志的两种方式

    1.LoggerFactory.getLogger(类名.class)

    2. lombok的@slf4j注解和log对象


    日志级别

    由低到高依次是:trace->debug->info->warn->error->fatal

    其中当程序里设置了日志级别后,程序只会打印和设置级别相同以及以上的,

    设置日志级别

    可以针对不同的文件夹设置不同的目录级别

    1. logging:
    2. level:
    3. root: trace

    日志持久化

    1.我们可以把日志保存在磁盘中特定的文件中,比如d盘的logs文件夹,使用代码:

    1. logging:
    2. file:
    3. path: D:\logs

    最后运行打印后我们在文件中可以找到 

    2. 或者按一个文件名字来命名

    1. logging:
    2. file:
    3. name: springbboot-1.log
    4. #名字随便取

    此时我们运行后就可以在特定地方找到我们想要持久化保存的日志。 

    获取日志的两种方式

    1.LoggerFactory.getLogger(类名.class)

    1. //1.传统方式
    2. //使用private static final Logger logger=LoggerFactory.getLogger(ArticleController.class);
    3. import lombok.Data;
    4. import org.slf4j.Logger;
    5. import org.slf4j.LoggerFactory;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.web.bind.annotation.RequestMapping;
    8. import org.springframework.web.bind.annotation.ResponseBody;
    9. /**
    10. * 在类级别上使用 @RequestMapping 注解,可以为整个控制器类指定一个基础的 URL 路径,这样在处理方法的时候可以省略该路径的配置
    11. * 整个类都会被映射到/user路径,
    12. * */
    13. @RequestMapping("/user")//在设置一层路径,后面还有个hi
    14. @Controller
    15. @ResponseBody//类中所有方法返回数据而不是页面
    16. @Data
    17. public class UserController {
    18. //1.得到日志文件
    19. //private static final Logger logger = LoggerFactory.getLogger(UserController.class);
    20. private static final Logger logger=LoggerFactory.getLogger("UserController");
    21. @RequestMapping("/hi")
    22. public String sayHi(){
    23. logger.trace("我是 trace");
    24. logger.info("我是 info");//info就是普通的打印信息,默认日志级别;
    25. //warn,error,debug
    26. logger.warn("我是 warn");
    27. logger.error("我是error");
    28. logger.debug("我是 debug");
    29. System.out.println("我是日志");
    30. return "Hi,SpringBooot";
    31. /**程序在打印的时候,会打印当前日志级别的及当前级别以上的;
    32. * */
    33. }
    34. }

    2. lombok的@slf4j注解和log对象

    1. 2.在类名上使用Lombok的注解@slf4j
    2. * 此时在类中的方法里就可以使用log对应的方法
    3. import lombok.extern.slf4j.Slf4j;
    4. import org.slf4j.Logger;
    5. import org.slf4j.LoggerFactory;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.web.bind.annotation.RequestMapping;
    8. import org.springframework.web.bind.annotation.ResponseBody;
    9. @Controller
    10. @ResponseBody
    11. @RequestMapping("/art")
    12. @Slf4j
    13. public class ArticleController {
    14. @RequestMapping("/hi")
    15. public String satHi(){
    16. log.trace("我是 slf4j的trace");
    17. log.info("我是 slf4j 的trace");
    18. log.debug("我是 slf4j的debug");
    19. log.error("我是 slf4j的error");
    20. return "hello,Article";
    21. }
    22. }

    关于在pom.xml配置lombok依赖可以去maven仓库中去找,也可以在创建项目的时候选上,也可以在settings里面下载editstarters插件(快速地添加和删除Starter依赖),之后再pom.xml内容中右键,选择generate,源路径url不改,然后就选择你想要的就ok.

    日志作用

    1.发现和定位问题;

    2.记录用户登陆的日志;->分析是正常登录还是恶意破解用户

    3.记录系统的操作日志;->数据恢复和定位操作人

    4.记录程序的执行时间;->方便优化程序

  • 相关阅读:
    Linux系统命令——文件与文件目录管理
    jar打war包
    详细介绍如何微调 YOLOv8 姿势模型以进行动物姿势估计--附完整源码
    05 数据操纵之插入数据 | OushuDB 数据库使用入门
    Maixll-Dock 快速上手
    『手撕Vue-CLI』添加自定义指令
    汇编语言程序(环境是dosbox)
    AcWing 4505. 最大子集
    【自动驾驶】碰撞检测算法
    Pikachu靶场通关秘籍(持续更新)
  • 原文地址:https://blog.csdn.net/m0_74106420/article/details/133776400