SpringBoot 中的 Logging 日志
一、日志格式
下面是 SpringBoot 项目中输出的日志:
2021-03-09 21:33:06.594 INFO 21236 --- [main] com.test.springboot.logging.LoggingMain : Starting LoggingMain using Java 1.8.0_111 on JT-DS998-pzj with PID 21236 (...)
2021-03-09 21:33:06.597 INFO 21236 --- [main] com.test.springboot.logging.LoggingMain : The following profiles are active: dev
2021-03-09 21:33:08.012 INFO 21236 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
SpringBoot中默认的日志输出格式,一般包括以下几个部分:
- 日期和时间:精确到毫秒,易于排序
- 日志级别:ERROR, WARN, INFO, DEBUG, TRACE
- 进程ID
- [main]表示线程名称
- Logger 名称:一般是类的路径
- 日志的内容
二、日志的输出
默认情况下,SpringBoot会把日志输出到控制台,一般生产环境会将日志输出到文件,便于存储。如果想把日志写入文件,可以在 application.yml 配置文件中新增 logging.file.name 或者 logging.file.path 配置节进行配置,如下:
logging:
# 日志文件
file:
name: /data/logs/debug.log
level:
# 日志级别
root: info
org.springframework.web: debug
org.hibernate: error
path: concretepage/logs
# 自定义日志格式
pattern:
console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n'
三、日志分组
有时候我们需要对多个功能同时进行日志级别配置,这个时候可以利用日志的分组功能。例如,我们需要设置tomcat相关的日志级别,我们可以先将对应的模块分组。
logging:
group:
tomcat: "org.apache.catalina,org.apache.coyote,org.apache.tomcat"
然后对分组进行日志级别的设置
logging:
level:
tomcat: "trace"