springboot的日志框架:
1.pom.xml
<!--日志配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
2.SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉即可
3.spirngboot默认日志配置:
SpringBoot的场景启动其中,默认都依赖了spring-boot-starter,而跟踪spring-boot-starter依赖会发现下面的东西
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
...
也就是说SpringBoot 程序不需要再显式增加 spring-boot-starter-logging 包依赖.
spring-boot-starter-logging 包也自动设置了 slf4j 和 logback 依赖, SpringBoot 使用了 slf4j 日志接口框架, 而 logback 是默认的日志实现框架,
springBoot缺省的日志实现是logback, 也可以选用其他日志实现, 比如 log4j, log4j2等, 其中logback完全符合slf4j规
4.修改spirngboot默认日志的配置(logback)
logging:
#file: /logs/system.log # 日志文件,绝对路径,日志文件会建在当前项目所在的磁盘的根目录下,D:\logs\system.log
file: logs/system.log # 日志文件,相对路径,日志文件会建在当前项目根目录下,D:\WorkSpace\JavaWebEdit\springBootProjects\springboots\spring-boot-basic-practice\logs\system.log
path: logs # 日志路径相对路径,日志文件会建在当前项目根目录下
pattern:
console: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n' #控制台输出的格式
file: '%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n' #日志文件中输出的格式
日志输出格式:
%d表示日期时间,
%thread表示线程名,
%‐5level: 级别从左显示5个字符宽度
%logger{50} 表示logger名字长50个字符,否则按照句点分割。
%msg:日志消息,
%n是换行符