SpringBoot日志系统——logback

logback是SpringBoot内置的日志处理框架,你会发现spring-boot-starter其中包含了spring-boot-starter-logging,该依赖内容就是 Spring Boot 默认的日志框架 logback。而spring-boot-starter-web包含了spring-boot-starter,可通过引入spring-boot-starter-web后的项目JAR依赖关系很快得出这个结论。

  • 在简单的SpringBoot项目中,我们并没有主动去配置过任何和日志打印的相关配置入logback.xml,但是控制台却打印了相关的启动日志。如下图:

  • 我们没有配置任何其它配置,就可以看到来自logback root logger的输出信息。因为SpringBoot为logback提供了默认的配置文件base.xml(查看源码),base.xml文件里定义了默认的root输出级别为INFO,如下:










    • 默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件

    • 使用SpringBoot在application.properties或application.yml中只能配置简单的场景。保存路径、日志格式等,复杂的场景(区分 info 和 error 的日志、每天产生一个日志文件等)满足不了,只能自定义配置。

    • 最后附上常用的logback-spring.xml模板






      ${MDC_LOG_PATTERN}



      ./log/ace/jpy.log

      ./log/ace/jpy.%d{yyyy-MM-dd}.log
      30


      %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%thread] %logger{35} - %msg%n




      ./log/ace/info/jpy-info.log



      INFO
      ACCEPT
      DENY


      ./log/ace/info/jpy-info.%d{yyyy-MM-dd}.log
      30


      %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%thread] %logger{35} - %msg%n




      ./log/ace/warn/jpy-warn.log



      WARN
      ACCEPT
      DENY


      ./log/ace/warn/jpy-warn.%d{yyyy-MM-dd}.log
      30


      %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%thread] %logger{35} - %msg%n




      ./log/ace/error/jpy-error.log



      ERROR
      ACCEPT
      DENY


      ./log/ace/error/jpy-error.%d{yyyy-MM-dd}.log
      30


      %d{yyyy-MM-dd HH:mm:ss.SSS} %5p [%thread] %logger{35} - %msg%n


















posted @ 2022-08-27 18:03  程序员曾奈斯  阅读(789)  评论(0)    收藏  举报