IDEA日志操作、分组设置日志级别、lombok快速创建日志对象

目录

一 日志的作用

二 日志的操作

1 创建记录日志的对象

2 使用

3 设置日志输出级别

方式1

方式2

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

三 快速创建日志对象

方法1 手动写

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


一 日志的作用


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

二 日志的操作

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第1张图片

1 创建记录日志的对象


2 使用

package com.qing.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/books")
public class BookController {

    //1 创建记录日志的对象
   private static final Logger log= LoggerFactory.getLogger(BookController.class);

    @GetMapping
    public String getById(){
        System.out.println("console:SpringBoot is running log");

        //2 使用
        //级别过低,堆栈信息,一般没有人用:log.trace();
        log.debug("debug...");
        log.info("info...");
        log.error("error...");
        log.warn("warn...");
        //fatal致命错误没有,因为致命错误的时候日志也不好用了

        return "rest:SpringBoot is running  log";
    }
}


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"

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第2张图片

方式2

配置文件中:debug:true

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第3张图片

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

配置文件中

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第4张图片

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

logging:
  level:
    root: info
    com.qing.controller: debug




 IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第5张图片

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

logging:
  group:
    qing: com.qing.controller
  level:
    root: warn
    qing: info







IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第6张图片

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第7张图片

三 快速创建日志对象

方法1 手动写

1 创建对象

package com.qing.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class BaseClass {
    private Class cls ;
    //1 创建记录日志的对象
    public static Logger log ;

    public BaseClass(){
        cls = this.getClass();
        log = LoggerFactory.getLogger(cls);
    }


}

 2 继承使用

package com.qing.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{


    @GetMapping
    public String getById(){
        System.out.println("console:SpringBoot is running log");

        //2 使用
        //级别过低,堆栈信息,一般没有人用:log.trace();
        log.debug("debug...");
        log.info("info...");
        log.error("error...");
        log.warn("warn...");
        //fatal致命错误没有,因为致命错误的时候日志也不好用了

        return "rest:SpringBoot is running  log";
    }
}

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

lombok使用

1 加lombok的依赖,刷新maven


    org.projectlombok
    lombok

2 加注解@Slf4j

package com.qing.controller;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@Slf4j
@RestController
@RequestMapping("/books")
public class BookController{


    @GetMapping
    public String getById(){
        System.out.println("console:SpringBoot is running log");

        //2 使用
        //级别过低,堆栈信息,一般没有人用:log.trace();
        log.debug("debug...");
        log.info("info...");
        log.error("error...");
        log.warn("warn...");
        //fatal致命错误没有,因为致命错误的时候日志也不好用了

        return "rest:SpringBoot is running  log";
    }
}

IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第8张图片

 IDEA日志操作、分组设置日志级别、lombok快速创建日志对象_第9张图片

日志格式、文件记录日志

你可能感兴趣的:(SpringBoot2,Java,intellij,idea)