91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Springboot用logback實現多環境配置的方法

發布時間:2021-06-16 09:04:24 來源:億速云 閱讀:548 作者:chen 欄目:開發技術

本篇內容介紹了“Springboot用logback實現多環境配置的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

前言

Logback是由log4j創始人設計的又一個開源日記組件,Logback 當前分成三個模塊:logback-core,logback- classic和logback-accesslogback-core是其它兩個模塊的基礎模塊,logback-classic是log4j的一個改良版本。此外logback-classic完整實現SLF4J API使你可以很方便地更換成其它日記系統如log4j或JDK14 Logging。logback-access訪問模塊與Servlet容器集成提供通過Http來訪問日記的功能

引入依賴

引入logback所需要的依賴

<dependency>                                                                           
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.1.6</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.6</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.18</version>
</dependency>

如果使用spring-boot,兼容logback,默認已經集成了這些文件,所以就不需要自己依賴注入了,直接在項目中使用就行了。

配置項值方案

利用Spring boot中application.yml的spring.profiles.active

Springboot用logback實現多環境配置的方法

環境配置,dev開發環境和部署環境連接的數據庫地址、debug模式等等都是不同的,為了區分dev開發環境配置和生產環境配置,可以創建兩個yml文件,什么環境使用相應的配置文件:

  • application.yml:公共配置文件,里面可以通過spring.profiles.active=dev來指定使用哪個配置文件

  • application-dev.yml:開發環境配置文件

  • application-prod.yml:生產環境配置文件

注意:

1、當公共配置文件application.yml和dev.yml(或prod.yml)同時存在同一個配置的時候,以dev.yml(prod.yml)配置文件為主
2、當配置項只在公共application.yml文件中有的時候,以公共配置為主
3、可以
把公共配置項放到application.yml中

我們在看dev.xml和prod.xml配置文件

dev.xml配置

#dev.xml中的配置,用戶開發環境
log: 
  path: /Users/gujiachun/Downloads
  level: debug

prod.xml配置

#prod.xml中的配置,用戶生產環境
log: 
  path: /Users/gujiachun/Downloads
  level: info

此方案的設計原理就是,不同環境不同的配置值;然后在logback-spring.xml中使用此配置值。

Springboot用logback實現多環境配置的方法

上圖就是logback-spring.xml配置,里面有個重要的就是springProperty標簽,可以利用這個標簽引用到application.yml中的值(包含dev.xml、prod.xml);log.level和log.path的值就可以在logback-spring.xml中使用,使用方式 l o g P a t h 、 {logPath}、 logPath、{logLevel}

測試代碼

Springboot用logback實現多環境配置的方法

啟動測試,指定spring.profiles.active=dev或prod;我們發現在logPath目錄出現對應的日志文件

Springboot用logback實現多環境配置的方法

因為不同的環境,我們配置成日志級別不一樣,dev對應debug,prod對應info;日志文件內容不同環境對應不同內容

dev環境輸出

2020-01-04 10:01:50,298 -- debug...
2020-01-04 10:01:50,298 -- info...
2020-01-04 10:01:50,298 -- error...

prod環境輸出

2020-01-04 10:03:55,198 -- info...
2020-01-04 10:03:55,198 -- error...

外部配置文件方案

另一種更簡單的方式,可以利用logging.config指定配置文件,而且有一個好處可以不一定要取名logback-spring.xml;我們來看一下

application-dev.xml環境

#日志相關配置
logging:
  config: classpath:conf/logback-dev.xml

application-prod環境

#日志相關配置
logging:
  config: classpath:conf/logback-prd.xml

logback-dev.xml配置

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

logback-prod.xml配置

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

Springboot用logback實現多環境配置的方法

啟動指定spring.profiles.active=dev

在控制臺輸出了

Springboot用logback實現多環境配置的方法

而在日志文件

Springboot用logback實現多環境配置的方法

日志內容

2020-01-04 11:56:10  [39mDEBUG[0;39m 7454  --- [main]  [36mc.r.g.t.LoggerTest[0;39m : debug:....

為什么只有debug日志,沒有info、error;這個是因為日志文件中加了個過濾器

<filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>${logLevel}</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
</filter>

此過濾器中的屬性onMatch和onMismatch,匹配日志級別就接受,不匹配就不接受。所以只接受debug級別。

啟動指定spring.profiles.active=prod

控制臺輸出

Springboot用logback實現多環境配置的方法

日志文件

Springboot用logback實現多環境配置的方法

生成了4個文件,也是因為過濾器,生產環境的日志級別為info,所以debug日志文件里面為空。

springProfile方案

springProfile標簽在logback.xml中可以起到區分不同環境分支;如果我們需要配置不同環境,不同的輸出方式,如:dev環境輸出到控制臺以及文件,prod環境只要輸出到文件。

logback-spring.xml配置

Springboot用logback實現多環境配置的方法

這樣就可以在同一個配置xml文件中,配置不同的環境值。

“Springboot用logback實現多環境配置的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

炎陵县| 怀柔区| 新和县| 宜兰市| 金山区| 泰州市| 鱼台县| 镇原县| 成武县| 太仓市| 华亭县| 吴川市| 太保市| 洞口县| 马公市| 都昌县| 屏东县| 汤原县| 普兰县| 巩留县| 金溪县| 汝南县| 天峨县| 湟源县| 玛多县| 云南省| 雷波县| 澄迈县| 涪陵区| 郧西县| 无棣县| 沛县| 永登县| 和田县| 丰原市| 安顺市| 双峰县| 巴彦县| 皋兰县| 甘孜县| 万全县|