Spring Boot默认集成的日志打印格式中没有行号,但有时排查问题希望能直接定位到行号。我们可以将默认的格式进行更改。

默认格式配置在这个路径下:

1
/org/springframework/boot/spring-boot/2.0.6.RELEASE/spring-boot-2.0.6.RELEASE.jar!/org/springframework/boot/logging/logback/defaults.xml

更改只需要改application.yml文件即可。

1
2
3
4
5
6
7
8
9
10
logging:
level:
org.hzero.workflow: ${LOG_LEVEL:debug}
org.activiti: ${LOG_LEVEL:debug}
org.apache.servicecomb: debug
org.srm.workflow: ${LOG_LEVEL:debug}
pattern:
console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%t]){faint} %clr(%-40.40logger{39}){cyan}[lineno:%line] %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"
file: "%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39}[lineno:%line]: %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}"

我们只需要在默认的基础上,在适当位置加上 %line 即可,效果如下:

![image-20211008110041558](/Users/hjw/Library/Application Support/typora-user-images/image-20211008110041558.png)