淺析Spring boot 中 logback 配置<springProperty> 讀取application.properties 中的屬性
Spring Boot 中 logback 讀取application.properties 中的屬性
其中使用的時(shí)候發(fā)現(xiàn)了一個(gè)問題,就是如果使用的lobback配置文件的名稱是logback.xml 會(huì)先出現(xiàn)先找不到設(shè)置的屬性,然后項(xiàng)目啟動(dòng)起來才會(huì)找到,
比如:
<springProperty scope="context" name="log.path" source="logback.path" defaultValue="logs"/>
記錄日志文件存放地址屬性,會(huì)在項(xiàng)目啟動(dòng)的時(shí)候想出現(xiàn)一個(gè)找不到log.path_is_UNDIFIND 的目錄,項(xiàng)目啟動(dòng)起來后才會(huì)讀取到屬性,在配置路徑上生成日志文件。
可以通過將logback.xml 文件名稱修改為logback-spring.xml 就不會(huì)出現(xiàn)這個(gè)情況。
SpringBoot 配置文件的加載順序
logback.xml—>application.properties—>logback-spring.xml.
補(bǔ)充:Spring Boot筆記-logback-spring.xml獲取application.properties中的變量
logback.xml的加載順序早于springboot的application.yml (或application.properties) 配置文件當(dāng)然讀不到application.yml(或application.properties)文件中的值了。
需要通過springProperty標(biāo)簽來引用:<springProperty scope="context" name="log.path" source="path.log"/>這里的name和上面property標(biāo)簽。
如下:

其中application.properties:
springBoot.log=D:/logs
logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<springProperty scope="context" name="LOG_HOME" source="springBoot.log" />
<!--輸出日志格式-->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>
%d - %msg%n
</pattern>
</layout>
</appender>
<!--只保存info日志-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
</encoder>
<!--滾動(dòng)輸出策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路徑-->
<!-- <fileNamePattern>D:/logs/info/info.%d.log</fileNamePattern>-->
<fileNamePattern>${LOG_HOME}/info/info.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!--只保存warn日志-->
<appender name="fileWarnLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
</encoder>
<!--滾動(dòng)輸出策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路徑-->
<!-- <fileNamePattern>D:/logs/warn/warn.%d.log</fileNamePattern>-->
<fileNamePattern>${LOG_HOME}/warn/warn.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<!--只保存error日志-->
<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>
%d - %msg%n
</pattern>
</encoder>
<!--滾動(dòng)輸出策略-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--路徑-->
<!-- <fileNamePattern>D:/logs/error/error.%d.log</fileNamePattern>-->
<fileNamePattern>${LOG_HOME}/error/error.%d.log</fileNamePattern>
</rollingPolicy>
</appender>
<root level="info">
<appender-ref ref="consoleLog"/>
<appender-ref ref="fileInfoLog"/>
<appender-ref ref="fileWarnLog"/>
<appender-ref ref="fileErrorLog"/>
</root>
</configuration>到此這篇關(guān)于淺析Spring boot 中 logback 配置<springProperty> 讀取application.properties 中的屬性的文章就介紹到這了,更多相關(guān)Spring Boot 中 logback 讀取application.properties 中的屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Feign調(diào)用服務(wù)時(shí)丟失Cookie和Header信息的解決方案
這篇文章主要介紹了Feign調(diào)用服務(wù)時(shí)丟失Cookie和Header信息的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Java讀取網(wǎng)頁(yè)內(nèi)容并下載圖片的實(shí)例
這篇文章主要介紹了Java讀取網(wǎng)頁(yè)內(nèi)容并下載圖片的實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09
SpringBoot使用@Async注解實(shí)現(xiàn)異步調(diào)用
這篇文章主要介紹了SpringBoot使用@Async注解實(shí)現(xiàn)異步調(diào)用,異步調(diào)用是相對(duì)于同步調(diào)用而言的,同步調(diào)用是指程序按預(yù)定順序一步步執(zhí)行,每一步必須等到上一步執(zhí)行完后才能執(zhí)行,異步調(diào)用則無需等待,程序執(zhí)行完即可執(zhí)行,可以減少程序執(zhí)行時(shí)間,需要的朋友可以參考下2023-10-10

