SpringBoot之LogBack配置詳解
LogBack 默認(rèn)集成在 Spring Boot 中,是基于 Slf4j 的日志框架。默認(rèn)情況下 Spring Boot 是以 INFO 級(jí)別輸出到控制臺(tái)。
它的日志級(jí)別是:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < OFF
配置
LogBack 可以直接在 application.properties 或 application.yml 中配置,但僅支持一些簡(jiǎn)單的配置,復(fù)雜的文件輸出還是需要配置在 xml 配置文件中。配置文件可命名為 logback.xml , LogBack 自動(dòng)會(huì)在 classpath 的根目錄下搜索配置文件,不過 Spring Boot 建議命名為 logback-spring.xml,這樣會(huì)自動(dòng)引入 Spring Boot 一些擴(kuò)展功能。
如果需要引入自定義名稱的配置文件,需要在 Spring Boot 的配置文件中指定,如:
logging: config: classpath:logback-spring.xml
同時(shí) Spring Boot 提供了一個(gè)默認(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)配置以及在控制臺(tái)輸出時(shí)的關(guān)鍵字配色,具體文件內(nèi)容可以看這里,可以查看到一些常用的配置寫法。
詳細(xì)配置
變量
可以使用 <property> 來定義變量:
<property name="log.path" value="/var/logs/application" />
同時(shí)可以引入 Spring 的環(huán)境變量:
<property resource="application.yml" /> <property resource="application.properties" />
所有的變量都可以通過 ${} 來調(diào)用。
輸出到控制臺(tái)
<?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,超過后會(huì)刪除舊的歸檔日志文件 --> <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>
啟動(dòng)的時(shí)候 java -jar xxx.jar --spring.profiles.active=dev 即可使配置生效。
如果要使用 Spring 擴(kuò)展的 profile 支持,配置文件名必須命名為 LogBack_Spring.xml,此時(shí)當(dāng) application.properties 中指定為 spring.profiles.active=dev 時(shí),上述配置才會(huì)生效。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot項(xiàng)目讀取外置logback配置文件的問題及解決
- springboot配置logback日志管理過程詳解
- 基于logback 實(shí)現(xiàn)springboot超級(jí)詳細(xì)的日志配置
- 解決springboot使用logback日志出現(xiàn)LOG_PATH_IS_UNDEFINED文件夾的問題
- springboot使用Logback把日志輸出到控制臺(tái)或輸出到文件
- SpringBoot項(xiàng)目的logback日志配置(包括打印mybatis的sql語(yǔ)句)
- SpringBoot日志進(jìn)階實(shí)戰(zhàn)之Logback配置經(jīng)驗(yàn)和方法
相關(guān)文章
java加密算法分享(rsa解密、對(duì)稱加密、md5加密)
這篇文章主要介紹了java加密算法,包括rsa解密、對(duì)稱加密、md5加密等,需要的朋友可以參考下2014-05-05在SpringBoot項(xiàng)目中如何實(shí)現(xiàn)線程池的動(dòng)態(tài)監(jiān)控
Spring Boot因其簡(jiǎn)便、高效的特點(diǎn)廣受開發(fā)者喜愛,在復(fù)雜的業(yè)務(wù)場(chǎng)景下,如何確保Spring Boot應(yīng)用的高性能和穩(wěn)定性成為了一個(gè)關(guān)鍵問題,其中,線程池的管理策略直接影響到系統(tǒng)的吞吐量和資源利用效率,本文將重點(diǎn)探討在Spring Boot項(xiàng)目中,如何實(shí)現(xiàn)線程池的動(dòng)態(tài)監(jiān)控2023-10-10Java中jar包運(yùn)行后顯示:沒有主清單屬性的解決方案
這篇文章主要介紹了Java中jar包運(yùn)行后顯示:沒有主清單屬性的解決方案,文中給大家分析了三個(gè)主要原因,并通過代碼示例和圖文講解的非常詳細(xì),需要的朋友可以參考下2024-04-04Java零基礎(chǔ)教程之Windows下安裝 JDK的方法圖解
這篇文章主要介紹了Java零基礎(chǔ)教程之Windows下安裝 JDK的方法圖解,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09RestTemplate如何使用JSON發(fā)送Post請(qǐng)求
這篇文章主要介紹了RestTemplate如何使用JSON發(fā)送Post請(qǐng)求問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09SpringBoot部署到騰訊云的實(shí)現(xiàn)示例
記錄一下自己第一次部署springboot項(xiàng)目,本文主要介紹了SpringBoot部署到騰訊云的實(shí)現(xiàn)示例,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08spring framework體系結(jié)構(gòu)及模塊jar依賴關(guān)系詳解
在本篇文章里小編給大家整理的是關(guān)于spring framework體系結(jié)構(gòu)及模塊jar依賴關(guān)系,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。2019-09-09關(guān)于logback日志級(jí)別動(dòng)態(tài)切換的四種方式
這篇文章主要介紹了關(guān)于logback日志級(jí)別動(dòng)態(tài)切換的四種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式
這篇文章主要介紹了java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12