简介
Spring Boot使用Commons Logging记录所有内部日志,但保留底层日志实现的打开状态。为JUL日志记录、Log4J2和Logback提供了默认配置。在每种情况下,记录器都预先配置为使用控制台输出,还可以使用可选的文件输出。
默认情况下,如果使用 “Starters”,则使用Logback进行日志记录。还包括适当的Logback路由,以确保使用JUL日志、Commons Logging、Log4J或SLF4J的依赖库都能正常工作。
日志格式
Spring Boot的默认日志输出类似于以下示例:
2021-03-15 12:57:55.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52
2021-03-15 12:57:55.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
说明:
- 日期和时间:毫秒精度,易于排序
- 日志级别:ERROR, WARN, INFO, DEBUG, or TRACE (错误、警告、信息、调试或跟踪)
- 进程ID
- 一个—分隔符,用于区分实际日志消息的开始
- 线程名称:用方括号括起来(控制台输出可能会截断)
- 记录器名称:这通常是源类名称(通常缩写)
- 日志消息
彩色输出日志
如果终端支持ANSI,则颜色输出用于帮助可读性。可以将spring.output.ansi.enabled设置为支持的值以覆盖自动检测。
使用%clr转换字配置颜色编码。在最简单的形式中,转换器根据日志级别为输出着色,如下例所示%clr(%5p)
下描述了日志级别到颜色的映射:
Level | Color |
---|
FATAL | Red | ERROR | Red | WARN | Yellow | INFO | Green | DEBUG | Green | TRACE | Green |
也可以通过将颜色或样式作为转换选项来指定应使用的颜色或样式。例如,要使文本变为黄色,请使用以下设置:
%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}
支持以下颜色和样式:
- blue
- cyan
- faint
- green
- magenta
- red
- yellow
具体颜色的配置可以在logback.xml或logback-spring.xml中配置,也可以在application.properties中配置
logging:
pattern:
console: '%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){Green} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}'
logback-spring.xml文件配置
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%black(%msg%n)</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
|