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。

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-logging</artifactId>
  4. </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日志…”); }

  1. public static void main(String[] args) {
  2. new LogTest().contextLoads();
  3. }

}

  1. ![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)
  2. ```java
  3. 日志输出格式:
  4. %d表示日期时间,
  5. %thread表示线程名,
  6. %-5level:级别从左显示5个字符宽度
  7. %logger{50} 表示logger名字最长50个字符,否则按照句点分割。
  8. %msg:日志消息,
  9. %n是换行符
  10. -->
  11. %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
  • SpringBoot修改日志的默认配置
    1. logging:
    2. level:
    3. #root日志以info级别输出
    4. root: info
    5. #com.example.demo包下所有classdebug级别输出
    6. com.example.demo: debug