spring boot 日誌文件配置(logback-spring.xml)親測可用!

問題描述:如何配置springboot項目,經過日誌配置,使之輸出自定義日誌。

詳細文章:https://blog.csdn.net/gebitan505/article/details/70142155?locationNum=1&fps=1spring

幾個問題

- 是否須要在`application.properties`/`application.yml`中添加配置
    - 不須要。只須要添加`logback-spring.xml`便可!
- 是否須要在maven/gradle中添加依賴?
    - 不須要額外依賴。由於已經有了 `spring-boot-starter`,下圖可說明依賴關係

個人配置,僅供參考

  1. 以下圖,在resources文件夾下添加logback-spring.xml
    springboot

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

<?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. 子節點 :用來設置某一個包或者具體的某一個類的日誌打印級別。
相關文章
相關標籤/搜索