spring boot 日志文件配置(logback-spring.xml)亲测可用!

时间:2023-03-09 19:51:22
spring boot 日志文件配置(logback-spring.xml)亲测可用!

问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志。

详细文章:https://blog.****.net/gebitan505/article/details/70142155?locationNum=1&fps=1

几个问题

- 是否需要在`application.properties`/`application.yml`中添加配置
- 不需要。只需要添加`logback-spring.xml`即可!
- 是否需要在maven/gradle中添加依赖?
- 不需要额外依赖。因为已经有了 `spring-boot-starter`,下图可说明依赖关系

spring boot 日志文件配置(logback-spring.xml)亲测可用!

我的配置,仅供参考

  1. 如下图,在resources文件夹下添加logback-spring.xml

    spring boot 日志文件配置(logback-spring.xml)亲测可用!

  2. logback-spring.xml文件中配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName> <!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" /> <property name="log.path" value="E:\logging"/>
<!-- 输出到控制台配置 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!--<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] %-5level %logger{36} -%msg%n</Pattern>-->
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender> <!-- 最基础的日志输出级别 -->
<root level="info">
<appender-ref ref="console" />
</root> <!-- 自定义包的输出级别 blog下所有都输出debug -->
<logger name="com.k.blog" level="debug"/>
<!-- 自定义包的输出级别 mapper下所有都输出trace -->
<logger name="com.k.blog.mapper" level="trace"/> </configuration>

关于上方配置

  1. 前提应知道:日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出。
  2. 子节点 :用来指定最基础的日志输出级别,只有一个level属性。
  3. 子节点 :用来设置某一个包或者具体的某一个类的日志打印级别。