使用 @Slf4j 注解配置日志
2021-12-22 17:31:26
在pom.xml中添加lombok
使用@Slf4j注解;
默认可以使用log.error()、log.info()、log.debug()等输出;
设置日志级别
日志级别从小到大为 trace < debug < info < warn < error < fatal,由于默认日志级别设置为 INFO,因此info级别的日志时, trace 和 debug 级别的日志都看不到。
我们可以在 applicaition.properties文件中修改日志级别。比如将全局日志级别都改成 trace,则系统所有的日志都能看到。
```
logging.level.root=trace
```
我们也可以只设置某个包的日志级别,这样能够更方便准确地定位问题。比如下面配置,只对所有 com.example 包下面产生的日志级别改成 trace:
```
logging.level.com.example=trace
```
将日志输出到文件。只需要通过 logging.file.path 配置文件存放路径即可:
```
logging.file.path=./log/
```
设置日志文件大小和格式
日志输出格式:
```
%d{HH: mm:ss.SSS}——日志输出时间。
%thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用。
%-5level——日志级别,并且使用5个字符靠左对齐。
%logger{36}——日志输出者的名字。
%msg——日志消息。
%n——平台的换行符。
# 日志文件大小
logging.file.max-size=10MB
# 保留的日志时间
logging.file.max-history=10
# 修改在控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger : %msg%n
# 修改输出到文件的日志格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread] %logger : %msg%n
# 修改在控制台输出的日志格式 -- 如果想让不同类型的数据具有不同的高亮效果
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %clr(%5p) [%thread] %clr(%logger){cyan} : %msg%n
```
如果觉得类名太长(%logger),我们还可以将其设置个长度限制。比如下面限制长度为 45 个字符,超过得话包名部分会变成缩写:
```
# 修改在控制台输出的日志格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %clr(%5p) [%thread] %clr(%logger{45}){cyan} : %msg%n
```
yml文件配置
日志输出:
配置属性:
```
logging.config:日志配置文件的位置。例如:classpath:logback.xml。
logging.exception-conversion-word:当日志出现异常时会用到这个转换词。
logging.file:配置日志输出的文件名,也可以配置文件名的绝对路径。
logging.level:设置日志等级。
logging.file.max-size:配置日志文件的最大值,默认10MB。
logging.path:配置日志的路径。如果没有配置logging.file,Spring Boot 将默认使用spring.log作为文件名。例如/var/log。
logging.pattern.console:用在控制台中的日志模式(stdout)。(只支持默认的Logback设置。)
logging.pattern.dateformat:设置日志日期格式。
logging.pattern.file:用在文件中的日志模式 (如果启用LOG_FILE)。(只支持默认的Logback设置。)
logging.pattern.level:定义渲染不同级别日志的格式。默认是%5p。
```