• IDEA日志操作


    目录

    一 日志的作用

    二 日志的操作

    1 创建记录日志的对象

    2 使用

    3 设置日志输出级别

    方式1

    方式2

    *方式3:分组设置日志级别(推荐)

    三 快速创建日志对象

    方法1 手动写

    *方法2 lombok快速创建日志对象


    一 日志的作用


    1 编程期调试代码
    2 运营期记录信息
        日常运营重要信息(峰值流量,平均响应时长...)
        应用报错信息
        运维过程数据(扩容,宕机,报警...)

    二 日志的操作

    1 创建记录日志的对象


    2 使用

    1. package com.qing.controller;
    2. import org.slf4j.Logger;
    3. import org.slf4j.LoggerFactory;
    4. import org.springframework.web.bind.annotation.GetMapping;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RestController;
    7. @RestController
    8. @RequestMapping("/books")
    9. public class BookController {
    10. //1 创建记录日志的对象
    11. private static final Logger log= LoggerFactory.getLogger(BookController.class);
    12. @GetMapping
    13. public String getById(){
    14. System.out.println("console:SpringBoot is running log");
    15. //2 使用
    16. //级别过低,堆栈信息,一般没有人用:log.trace();
    17. log.debug("debug...");
    18. log.info("info...");
    19. log.error("error...");
    20. log.warn("warn...");
    21. //fatal致命错误没有,因为致命错误的时候日志也不好用了
    22. return "rest:SpringBoot is running log";
    23. }
    24. }


    3 设置日志输出级别

    说明:
    主要用debug、info、warn、error这四个日志级别

    当设置debug级别的日志:会显示debug、info、warn、error的日志
    当设置info级别的日志:会显示info、warn、error的日志
    当设置warn级别的日志:会显示warn、error的日志
    当设置error级别的日志:会显示error的日志

    方式1

    edit configurations -- program arguments -- 输"--debug"

    方式2

    配置文件中:debug:true

    *方式3:分组设置日志级别(推荐)

    配置文件中

     单独设置包的日志级别:整体的日志级别是info; controller包的日志级别是debug

    1. logging:
    2. level:
    3. root: info
    4. com.qing.controller: debug

     

    分组设置日志级别:整体日志级别是warn ;qing组里的日志级别是info

    1. logging:
    2. group:
    3. qing: com.qing.controller
    4. level:
    5. root: warn
    6. qing: info

    三 快速创建日志对象

    方法1 手动写

    1 创建对象

    1. package com.qing.controller;
    2. import org.slf4j.Logger;
    3. import org.slf4j.LoggerFactory;
    4. public class BaseClass {
    5. private Class cls ;
    6. //1 创建记录日志的对象
    7. public static Logger log ;
    8. public BaseClass(){
    9. cls = this.getClass();
    10. log = LoggerFactory.getLogger(cls);
    11. }
    12. }

     2 继承使用

    1. package com.qing.controller;
    2. import org.slf4j.Logger;
    3. import org.slf4j.LoggerFactory;
    4. import org.springframework.web.bind.annotation.GetMapping;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RestController;
    7. @RestController
    8. @RequestMapping("/books")
    9. public class BookController extends BaseClass{
    10. @GetMapping
    11. public String getById(){
    12. System.out.println("console:SpringBoot is running log");
    13. //2 使用
    14. //级别过低,堆栈信息,一般没有人用:log.trace();
    15. log.debug("debug...");
    16. log.info("info...");
    17. log.error("error...");
    18. log.warn("warn...");
    19. //fatal致命错误没有,因为致命错误的时候日志也不好用了
    20. return "rest:SpringBoot is running log";
    21. }
    22. }

    *方法2 lombok快速创建日志对象

    lombok使用

    1 加lombok的依赖,刷新maven

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

    2 加注解@Slf4j

    1. package com.qing.controller;
    2. import lombok.extern.slf4j.Slf4j;
    3. import org.slf4j.Logger;
    4. import org.slf4j.LoggerFactory;
    5. import org.springframework.web.bind.annotation.GetMapping;
    6. import org.springframework.web.bind.annotation.RequestMapping;
    7. import org.springframework.web.bind.annotation.RestController;
    8. @Slf4j
    9. @RestController
    10. @RequestMapping("/books")
    11. public class BookController{
    12. @GetMapping
    13. public String getById(){
    14. System.out.println("console:SpringBoot is running log");
    15. //2 使用
    16. //级别过低,堆栈信息,一般没有人用:log.trace();
    17. log.debug("debug...");
    18. log.info("info...");
    19. log.error("error...");
    20. log.warn("warn...");
    21. //fatal致命错误没有,因为致命错误的时候日志也不好用了
    22. return "rest:SpringBoot is running log";
    23. }
    24. }

     

    日志格式、文件记录日志

  • 相关阅读:
    lift-splat-shoot(LSS)代码详解
    C++基础知识(十七)--- pair&set&map
    sql server算术
    Vue3 从零开始 搭建 简单 干净 的 后台管理系统
    了解舵机以及MG996R的控制方法
    查看进程时,遇到process information unavailable的解决方法
    generic timer
    01-Spring底层核心原理解析
    安装ubuntu20.04, CUDA11.4, cnDNN, tensorflow, pytorch
    Liunx C运算符
  • 原文地址:https://blog.csdn.net/m0_45877477/article/details/125435265