"日志是什么xx,没什么是System.out.println()解决不了的"
入行前,是这么想的。
其实日志还是很有用的,特别现在,在分布式架构的系统中,如果出现了bug,没有它,调用链是什么?调用了什么方法?传入了什么参数?然后才引发了这个bug? 无从而知。
不仅仅可以用于排错,日后还能用于做数据挖掘,统计分析,偏一点的还能做事务补偿,监控,数据回滚,玩起来还是不错的前额还是会秃的
准备
并不需要,不然它就不是springBoot了。spring-boot-starter
已经帮我们做完。
日志等级
- 等级选项:TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
配置
### 日志等级,*是包名或Logger名
#logging.level.* = info
### can controll the log level what your want
#logging.level.com.m1.controller
### 日志文件相对路径
logging.file=mark3.log
### 日志文件绝对路径
#logging.path=
### 日志文件 输出格式
logging.pattern.file=%date [%thread] %r %-5level - %msg%n
### 控制台日志 输出格式
logging.pattern.console=%date [%thread] %r %-5level - %msg%n
关于日志输出格式,请参考 logback 官方配置
自定义日志配置
关于自动以的日志配置,官方推荐xx-spring
这样的命名规范,如logback-spring.xml
26.5. 自定义日志配置
- logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="sample.logback" level="DEBUG" />
<springProfile name="test">
<logger name="mtest" level="ERROR" />
</springProfile>
</configuration>
同时,还能通过Profile这一功能,来控制日志的输出,如上方的 <springProfile/>标签