Spring Boot2 开启系统日志(1)- 了解日志

发布时间 2023-12-05 14:35:27作者: 快乐随行

1. 日志显示

在 SpringBoot 应用中,日志会默认输出到控制台,日志格式如下:

2023-12-04 13:37:22.518  INFO  65136     --- [           main] com.x.Application      : Started Application in 2.192 seconds (JVM running for 3.957)
| ---- 1 -------------- | -2- | - 3 - | - 4 - | ---- 5 ----- | ---------- 6 ---------- | --------------------- 7 ---------------------------------- |

日志的输出内容中一共有7种元素,具体如下:

  1. 时间日期:精确到毫秒
  2. 日志级别:ERROR, WARN, INFO, DEBUG 和 TRACE。
  3. 进程ID
  4. 分隔符:--- 标识实际日志的开始
  5. 线程名:方括号括起来(可能会截断控制台输出)
  6. Logger名:通常使用源代码的类名
  7. 日志内容

2. 日志级别:

SpringBoot 日志的级别用于控制输出日志的详细程度。每种不同的日志等级对应一组不同的日志信息,级别越高,输出的日志信息就越详细。各种日志级别的含义如下:

  • trace:微量,少许的意思,级别最低;
  • debug:需要调试时候的关键信息打印;
  • info:普通的打印信息(默认⽇志级别);
  • warn:警告,不影响使用,但需要注意的问题;
  • error:错误信息,级别较⾼的错误⽇志信息;
  • fatal:致命的,因为代码异常导致程序退出执⾏的事件。

SpringBoot 中日志级别从低到高依次为:trace < debug < info < warn < error < fatal
默认的输出日志级别为:ERROR、WARN和INFO。

3. 开启DEBUG日志

我们可以通过两种方式切换至DEBUG级别:

  • 在运行命令后加入--debug标志,如:$ java -jar myapp.jar --debug
  • 在配置文件application.properties中配置debug=true

4. SpringBoot中加载日志配置顺序

日志的配置除了在application.yml里面配置还可以在xml中单独配置,并且xml中配置更加灵活,如线上日志我们需要根据日期及日志级别来分成不同的日志文件,也是为了方便我们在线上查日志。
加载日志配置顺序:

logback.xml -> application.yml -> logback-spring.xml

5. 依赖引入

SpringBoot 默认使用的日志框架是 Logback,也是目前最常使用的日志框架,如果已经引入了 spring-boot-starter 或 spring-boot-starter-web 则不需要再引入,已经包含其中。如果想使用其他日志框架需要单独引入依赖并写相应的配置。