• 9、SpringBoot_日志使用


    三、日志

    1.日志的使用

    使用

    @RestController
    public class LogController {
    
        public static final Logger log = LoggerFactory.getLogger(LogController.class);
    
        @GetMapping("/index")
        public String index(){
            log.info("请求info 信息");
            log.debug("请求debug 信息");
            log.warn("请求warn 信息");
            log.error("请求错误信息");
    
            return "OK";
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 日志级别

      • FATAL 灾难信息
      • ERROR 错误
      • WARN 警告
      • INFO 运维过程信息
      • DEBUG 调试信息
      • TRACE 堆栈信息
    • 一般的使用

      • INFO
      • DEBUG
    • 设置日志的级别

      logging:
        level:
          root: info
      
      • 1
      • 2
      • 3
    • 注意:打印的内容越多,级别也就越低

    • 设置组

      logging:
      #  设置组
        group:
          controller: cn.sycoder.springbootlog.controller
        level:
          root: info
      #    cn.sycoder.springbootlog.controller: warn
          controller: warn
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      2.使用lombok简化日志操作

    • 导入依赖

      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
      </dependency>
      
      • 1
      • 2
      • 3
      • 4
    • 使用

      @Slf4j
      @RestController
      public class LogController {
      
          @GetMapping("/index")
          public String index(){
              log.info("请求info 信息");
              log.debug("请求debug 信息");
              log.warn("请求warn 信息");
              log.error("请求错误信息");
      
              return "OK";
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
    • 底层反编译

      在这里插入图片描述

    2.使用lombok简化日志操作

    • 导入依赖

      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
      </dependency>
      
      • 1
      • 2
      • 3
      • 4
    • 使用

      @Slf4j
      @RestController
      public class LogController {
      
          @GetMapping("/index")
          public String index(){
              log.info("请求info 信息");
              log.debug("请求debug 信息");
              log.warn("请求warn 信息");
              log.error("请求错误信息");
      
              return "OK";
          }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
    • 底层反编译

      在这里插入图片描述

    3.日志输出格式

    • 图示

      在这里插入图片描述

    • 模仿springboot 写一下日志文件

      logging:
        pattern:
          console: "%d %clr(%-5p){yellow} %clr(${pid}){magenta} ---[%20t] %-40.40c : %m %n"
      
      • 1
      • 2
      • 3

      4.输出日志到文件

    • 背景:项目持续跑,日志文件会越来越大。

    4.1指定路径输出

    • 指定路径

      logging:
        file:
          path: F:\03-Spring\SpringBoot\homework\springboot-log
      
      • 1
      • 2
      • 3

    4.2指定名称输出

    • 指定名称

      logging:
        file:
          name: F:\03-Spring\SpringBoot\homework\springboot-log\sy.log
      
      • 1
      • 2
      • 3
    • 注意:指定名称输出的优先级会更高

    4.3拆分日志文件

    • 注意版本信息,如果版本太低的时候不支持 logback

    • 按照日期的格式拆分

      • sy2023-01-10-1.log
      • sy2023-01-10-2.log
    • 拆分日志文件

      logdir: F:\03-Spring\SpringBoot\homework\springboot-log\
      logging:
        logback:
          rollingpolicy:
            max-file-size: 2KB
            file-name-pattern: ${logdir}sy-%d{yyyy-MM-dd}-%i.log
        file:
          name: ${logdir}sy.log
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
  • 相关阅读:
    MySQL常用函数整理,建议收藏!
    springboot流浪狗领养管理系统毕业设计源码260839
    OpenCV每日函数 结构分析和形状描述符(9) ApproxPolyDP函数 拟合曲线
    ChatGPT 插件 “Consensus“ 实现论文搜索功能;数据工程在语言建模中的重要性
    CSAPP 之 ShellLab 详解
    flink web-ui提交New Job报错Server Response Message: Internal server error.
    chrome V3插件入门到放弃,Plasmo不完全使用指南
    uni-app:实现picker下拉列表的默认值设置
    【Java】泛型 之 什么是泛型
    数据可视化的echarts的常用设置
  • 原文地址:https://blog.csdn.net/Byron__/article/details/133349060