SpringBoot 提高篇(第二篇)
第5章 SpringBoot 日志
文章目录
- SpringBoot
- SpringBoot 提高篇(第二篇)
- 第5章 SpringBoot 日志
- 5.4 日志格式
- 5.4.1 日志格式配置
- 5.4.2 日志格式配置信息
- 5.4.3 彩色编码输出
5.4 日志格式
在这之前插一嘴,如何获取日志对象
之前的栗子中,我们通过这样的方式获取到了日志对象【这种写法其实并不怎么好】
【可以通过注解实现】
- 添加lombok 的依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
- 在类上添加注解
- 启动服务器,测试
OK,效果不变。
Spring Boot的默认日志输出类似于下面这个样子:
这些都是什么?
5.4.1 日志格式配置
大致格式:
# 修改⽇志级别
logging:
# 设置⽇志格式
pattern:
# 控制输出的格式
#格式化输出:%d:表示⽇期 %thread:表示线程名 %-5level:级别从左显示5个字符宽度 %msg:⽇志消息 %n:是换⾏符
console: "[console]==%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread]
%-5level %logger - %msg%n"
# ⽂件输出的格式
file: "[file]===%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level
%logger - %msg%n"
5.4.2 日志格式配置信息
- %d或者%date:指定日志的日期。默认是ISO8601的标准日期,相当于yyyy-MM-dd HH:mm:ss:SSS
- %level:指定日志的级别:Trace > Debug >Info> Warn> Error
- %logger:指定日志输出的包名+类名,{n}可以限定长度比如: %logger{50}
- %M︰指定日志发生时的方法名
- %L︰指定日志调用时所在的行。线下运行的时候不建议使用此参数,因为获取代码的行号对性能有损耗
- %m 或者%msg:表示日志的输出的内容
- %on :日志是否换行
- %thread:打印线程的名字
5.4.3 彩色编码输出
如果计算机终端支持ANSI,则使用颜色输出来提高可读性。
开发者可以设置spring.output.ansi.enabled为支持的值以覆盖自动检测。
使用%clr转换字配置颜色编码。在最简单的形式中,转换器根据日志级别为输出着色,如以下示例所示:
%clr(%5p)
下表描述了日志级别到颜色的映射:
等级 | 颜色 |
FATAL | 红 |
ERROR | 红 |
WARN | 黄 |
INFO | 绿 |
DEBUG | 绿 |
TRACE | 绿 |
或者,开发者可以通过将其作为转换选项提供来指定应使用的颜色或样式。
例如,要使文本变黄,使用以下设置:
%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}
支持以下颜色和样式:
blue cyan faint green magenta red yellow
举个栗子:
# 自定义日志格式
pattern:
console: "%d"
加上换行
# 自定义日志格式
pattern:
console: "%d %n"
加上消息
# 自定义日志格式
pattern:
console: "%d %m %n"
加上日志级别
加上颜色【info 设置为绿色】
加上线程
# 自定义日志格式
pattern:
console: "%d %clr(%level){grren} --- [%16t] %m %n"
OK。