文章目录

1. 代码中使用日志工具记录日志

  1. 添加日志记录操作
@RestController
@RequestMapping("/books")
public class BookController {

private static final Logger log = LoggerFactory.getLogger(BookController.class);

@GetMapping
public String getById(){
System.out.println("hello spring boot!");


log.debug("debug...");
log.info("info...");
log.warn("warn...");
log.error("error...");

return "hello spring boot!";
}
}

SpringBoot日志基本操作_格式控制

SpringBoot日志基本操作_日志输出_02

日志级别

  • TRACE:运行堆栈信息,使用率低
  • DEBUG:程序员调试代码使用
  • INFO:记录运维过程数据
  • WARN:记录运维过程报警数据
  • ERROR:记录错误堆栈信息
  • FATAL:灾难信息,合并计入ERROR
  1. 设置日志输出级别
# 开启debug模式,输出调试信息,常用于检查系统运行状况
debug: true
# 设置日志级别,root表示根节点,即整体应用日志级别
logging:
level:
root: debug
  1. 设置日志组,控制指定包对应的日志输出级别,也可以直接控制指定包对应的日志输出级别
logging:
group:
ebank: com.xdr630.controller,com.xdr630.service,com.xdr630.dao
isserver: com.alibaba
level:
root: info
#设置某个包的日志级别
com.xdr630.controller: debug
# 设置分组,对某个组设置日志级别
ebank: warn

2. 小节

  1. 日志用于记录开发调试与运维过程消息
  2. 日志的级别共6种,通常使用4种即可,分别是 DEBUG,INFO,WARN,ERROR
  3. 可以通过日志组或代码包的形式进行日志显示级别的控制

3. 优化日志对象创建代码

  • 使用lombok提供的注解​​@Slf4j​​​简化开发,减少日志对象的声明操作
    SpringBoot日志基本操作_格式控制_03

4. 日志输出格式控制

SpringBoot日志基本操作_日志输出_04

  • PID:进程ID,用于表明当前操作所处的进程,当多服务同时记录日志时,该值可用于协助程序员调试程序
  • 所属类/接口名:当前显示信息为SpringBoot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除
    日志输出格式控制

5. 日志输出格式控制

  • 日志输出格式控制
logging:
# 设置日志输出格式
pattern:
console: "%d - %m %n"

​%d​​:日期

​%m​​:消息

​%n​​:换行

SpringBoot日志基本操作_日志文件_05

logging:
# 设置日志输出格式
pattern:
console: "%d %clr(%5p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"

SpringBoot日志基本操作_格式控制_06

6. 设置日志文件

  • 设置日志文件
logging:
file:
name: server.log

SpringBoot日志基本操作_日志输出_07

SpringBoot日志基本操作_格式控制_08

  • 日志记录到文件中,超出设置的大小就会新建日志文件,​​i​​ 表示从 0 开始日志文件的顺序
logging:
logback:
rollingpolicy:
max-file-size: 3KB
file-name-pattern: server.%d{yyyy-MM-dd}.%i.log

SpringBoot日志基本操作_日志文件_09