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

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

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

几个问题

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

我的配置,仅供参考

  1. 如下图,在resources文件夹下添加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. 子节点 :用来设置某一个包或者具体的某一个类的日志打印级别。
posted @ 2018-04-18 11:32  kangkaii  阅读(2164)  评论(0编辑  收藏  举报