溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot之LogBack配置詳解

發(fā)布時間:2020-08-20 06:06:53 來源:腳本之家 閱讀:572 作者:WeYunx 欄目:編程語言

LogBack 默認(rèn)集成在 Spring Boot 中,是基于 Slf4j 的日志框架。默認(rèn)情況下 Spring Boot 是以 INFO 級別輸出到控制臺。

它的日志級別是:

ALL < TRACE < DEBUG < INFO < WARN < ERROR < OFF

配置

LogBack 可以直接在 application.properties 或 application.yml 中配置,但僅支持一些簡單的配置,復(fù)雜的文件輸出還是需要配置在 xml 配置文件中。配置文件可命名為 logback.xml , LogBack 自動會在 classpath 的根目錄下搜索配置文件,不過 Spring Boot 建議命名為 logback-spring.xml,這樣會自動引入 Spring Boot 一些擴(kuò)展功能。

如果需要引入自定義名稱的配置文件,需要在 Spring Boot 的配置文件中指定,如:

logging:
 config: classpath:logback-spring.xml

同時 Spring Boot 提供了一個默認(rèn)的 base.xml 配置,可以按照如下方式引入:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/base.xml"/>
</configuration>

base.xml 提供了一些基本的默認(rèn)配置以及在控制臺輸出時的關(guān)鍵字配色,具體文件內(nèi)容可以看這里,可以查看到一些常用的配置寫法。

詳細(xì)配置

變量

可以使用 <property> 來定義變量:

<property name="log.path" value="/var/logs/application" />

同時可以引入 Spring 的環(huán)境變量:

<property resource="application.yml" />
<property resource="application.properties" />

所有的變量都可以通過 ${} 來調(diào)用。

輸出到控制臺

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
  <encoder>
   <pattern>%.-1level|%-40.40logger{0}|%msg%n</pattern>
  </encoder>
 </appender>
 
 <logger name="com.mycompany.myapp" level="debug" />
 <logger name="org.springframework" level="info" />
 <logger name="org.springframework.beans" level="debug" />
 
 <root level="warn">
  <appender-ref ref="console" />
 </root>
</configuration>

輸出到文件

<property name="LOG_FILE" value="LogFile" />
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  <file>${LOG_FILE}.log</file>
  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 每日歸檔日志文件 -->
    <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
    <!-- 保留 30 天的歸檔日志文件 -->
    <maxHistory>30</maxHistory>
    <!-- 日志文件上限 3G,超過后會刪除舊的歸檔日志文件 -->
    <totalSizeCap>3GB</totalSizeCap>
  </rollingPolicy>
  <encoder>
    <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
  </encoder>
</appender> 

多環(huán)境配置

LogBack 同樣支持多環(huán)境配置,如 dev 、 test 、 prod

<springProfile name="dev">
  <logger name="com.mycompany.myapp" level="debug"/>
</springProfile>

啟動的時候 java -jar xxx.jar --spring.profiles.active=dev 即可使配置生效。

如果要使用 Spring 擴(kuò)展的 profile 支持,配置文件名必須命名為 LogBack_Spring.xml,此時當(dāng) application.properties 中指定為 spring.profiles.active=dev 時,上述配置才會生效。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI