目录
一 日志的作用
二 日志的操作
1 创建记录日志的对象
2 使用
3 设置日志输出级别
方式1
方式2
*方式3:分组设置日志级别(推荐)
三 快速创建日志对象
方法1 手动写
*方法2 lombok快速创建日志对象
一 日志的作用
1 编程期调试代码 2 运营期记录信息 ?? ?日常运营重要信息(峰值流量,平均响应时长...) ?? ?应用报错信息 ?? ?运维过程数据(扩容,宕机,报警...)
二 日志的操作
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"
方式2
配置文件中:debug:true
*方式3:分组设置日志级别(推荐)
配置文件中
?单独设置包的日志级别:整体的日志级别是info;?controller包的日志级别是debug
logging:
level:
root: info
com.qing.controller: debug
?
分组设置日志级别:整体日志级别是warn ;qing组里的日志级别是info
logging:
group:
qing: com.qing.controller
level:
root: warn
qing: info
三 快速创建日志对象
方法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
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
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";
}
}
?
日志格式、文件记录日志
|