SpringBoot日志依赖
假如maven依赖中添加了spring-boot-starter-logging,那么,我们的Spring Boot应用将自动使用logback作为应用日志框架,Spring Boot启动的时候,由org.springframework.boot.logging.Logging-Application-Listener根据情况初始化并使用。
但是呢,实际开发中我们不需要直接添加该依赖,你会发现spring-boot-starter其中包含了 spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 logback。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
SpringBoot能自动适配所有的日志,而且底层使用slf4j+logback的方式记录日志
**
日志使用
1.默认配置
SpringBoot默认帮我们配置好了日志
- 测试 ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory;
public class LogTest { private Logger logger = LoggerFactory.getLogger(Test.class); public void contextLoads() { //日志的级别; //由低到高 trace<debug<info<warn<error //可以调整输出的日志级别;日志就只会在这个级别以以后的高级别生效 logger.trace(“这是trace日志…”); logger.debug(“这是debug日志…”); //SpringBoot默认给我们使用的是info级别的,没有指定级别的就用SpringBoot默认规定的级别;root级别 logger.info(“这是info日志…”); logger.warn(“这是warn日志…”); logger.error(“这是error日志…”); }
public static void main(String[] args) {
new LogTest().contextLoads();
}
}
![image.png](https://cdn.nlark.com/yuque/0/2021/png/1416299/1629794831405-8ddef8dd-0faf-419c-90a4-0c10ec7c75bd.png#align=left&display=inline&height=127&margin=%5Bobject%20Object%5D&name=image.png&originHeight=127&originWidth=692&size=79604&status=done&style=none&width=692)
```java
日志输出格式:
%d表示日期时间,
%thread表示线程名,
%-5level:级别从左显示5个字符宽度
%logger{50} 表示logger名字最长50个字符,否则按照句点分割。
%msg:日志消息,
%n是换行符
-->
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
- SpringBoot修改日志的默认配置
logging:
level:
#root日志以info级别输出
root: info
#com.example.demo包下所有class以debug级别输出
com.example.demo: debug