SpringBoot多環(huán)境配置及日志記錄器詳解
Spring Boot多環(huán)境配置
Spring Boot的針對(duì)不同的環(huán)境創(chuàng)建不同的配置文件,
語法結(jié)構(gòu):application-{profile}.properties
profile:代表的就是一套環(huán)境
需求
application-dev.yml 開發(fā)環(huán)境 端口8090
application-test.yml 測試環(huán)境 端口8091
application-prod.yml 生產(chǎn)環(huán)境 端口8092
運(yùn)行項(xiàng)目:
在application.yml 中激活指定的配置文件:
#激活指定的配置文件 spring.profiles.active=dev
單個(gè)yml方式
yml支持多文檔塊的方式:
spring: profiles.active: dev # 開發(fā)環(huán)境配置 spring: profiles: dev server: port: 8080 # 測試環(huán)境配置 spring: profiles: test server: port: 8091 # 生產(chǎn)環(huán)境配置 spring: profiles: prod server: port: 8092
logback日志記錄器
logback介紹
logback是log4j團(tuán)隊(duì)創(chuàng)建的開源日志組件,與log4j類似但是比log4j更強(qiáng)大,是log4j的改良版本。主要優(yōu)勢(shì)在于:
a) 更快的實(shí)現(xiàn),logback內(nèi)核重寫過,是的性能有了很大的提升,內(nèi)存占用也更小。
b) logback-classic對(duì)slf4j進(jìn)行了更好的集成
c) 自動(dòng)重新加載配置文件,當(dāng)配置文件修改后,logback-classic能自動(dòng)重新加載配置文件
d) 配置文件能夠處理不同的情況,開發(fā)人員在不同的環(huán)境下(開發(fā),測試,生產(chǎn))切換的時(shí)候,不需要?jiǎng)?chuàng)建多個(gè)
? 文件,可以通過標(biāo)簽來實(shí)現(xiàn)
e) 自動(dòng)壓縮已經(jīng)打出來的日志文件:RollingFileAppender在產(chǎn)生新文件的時(shí)候,會(huì)自動(dòng)壓縮已經(jīng)打印出來的日志
? 文件。而且這個(gè)壓縮的過程是一個(gè)異步的過程。
logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--定義日志文件的存儲(chǔ)地址 勿在 LogBack 的配置中使用相對(duì)路徑-->
<property name="LOG_HOME" value="${catalina.base:-.}/logs/" />
<!-- 控制臺(tái)輸出 -->
<appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志輸出編碼 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<!--
日志輸出格式:
%d表示日期時(shí)間,
%thread表示線程名,
%-5level:級(jí)別從左顯示5個(gè)字符寬度
%logger{50} 表示class的全名最長50個(gè)字符,否則按照句點(diǎn)分割
%msg:日志消息
%n是換行符
-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</layout>
</appender>
<!-- 按照每天生成日志文件 -->
<appender name="RollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件輸出的文件名-->
<FileNamePattern>${LOG_HOME}/server.%d{yyyy-MM-dd}.log</FileNamePattern>
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<!--
日志輸出格式:
%d表示日期時(shí)間,
%thread表示線程名,
%-5level:級(jí)別從左顯示5個(gè)字符寬度
%logger{50} 表示class的全名最長50個(gè)字符,否則按照句點(diǎn)分割
%msg:日志消息
%n是換行符
-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</layout>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 日志輸出級(jí)別 -->
<root level="DEBUG">
<appender-ref ref="Stdout" />
<appender-ref ref="RollingFile" />
</root>
<!--日志異步到數(shù)據(jù)庫 -->
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
日志異步到數(shù)據(jù)庫
<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">
連接池
<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>
<user>root</user>
<password>root</password>
</dataSource>
</connectionSource>
</appender> -->
</configuration>到此這篇關(guān)于SpringBoot多環(huán)境配置及日志記錄器的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
濫用@PathVariable導(dǎo)致bug原因分析解決
這篇文章主要為大家介紹了濫用@PathVariable導(dǎo)致bug原因分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Spring + Spring Boot + MyBatis + MongoDB的整合教程
這篇文章主要給大家介紹了關(guān)于Spring + Spring Boot + MyBatis + MongoDB的整合教程,文中通過圖文以及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-12-12
詳解堆排序算法原理及Java版的代碼實(shí)現(xiàn)
如果將堆理解為二叉樹,那么樹中任一非葉結(jié)點(diǎn)的關(guān)鍵字均不大于(或不小于)其左右孩子(若存在)結(jié)點(diǎn)的關(guān)鍵字,堆排序的時(shí)間復(fù)雜度為O(N*logN),這里我們就來詳解堆排序算法原理及Java版的代碼實(shí)現(xiàn)2016-06-06
Mybatis實(shí)現(xiàn)指定sql返回值類型
文章介紹了Mybatis中處理不同返回值情況的方法,包括返回值只有一個(gè)和有多個(gè)的情況,對(duì)于返回值只有一個(gè),可以直接返回該值;對(duì)于多個(gè)返回值,可以使用POJO對(duì)象、List集合或Map集合進(jìn)行封裝,每種方法都有其適用的場景2025-12-12
SpringBoot實(shí)現(xiàn)項(xiàng)目文件上傳的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot中實(shí)現(xiàn)項(xiàng)目文件上傳的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-11-11
基于springboot服務(wù)間Feign調(diào)用超時(shí)的解決方案
這篇文章主要介紹了基于springboot服務(wù)間Feign調(diào)用超時(shí)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
解決@springboottest注解無法加載src/main/resources目錄下文件
這篇文章主要介紹了解決@springboottest注解無法加載src/main/resources目錄下文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java jvm兩種存儲(chǔ)區(qū)的類型知識(shí)點(diǎn)講解
在本篇文章里小編給大家整理的是一篇關(guān)于java jvm兩種存儲(chǔ)區(qū)的類型知識(shí)點(diǎn)講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-03-03

