SpringBoot多環(huán)境配置及日志記錄器詳解
Spring Boot多環(huán)境配置
Spring Boot的針對不同的環(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
運行項目:
在application.yml 中激活指定的配置文件:
#激活指定的配置文件 spring.profiles.active=dev
單個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團隊創(chuàng)建的開源日志組件,與log4j類似但是比log4j更強大,是log4j的改良版本。主要優(yōu)勢在于:
a) 更快的實現(xiàn),logback內(nèi)核重寫過,是的性能有了很大的提升,內(nèi)存占用也更小。
b) logback-classic對slf4j進行了更好的集成
c) 自動重新加載配置文件,當配置文件修改后,logback-classic能自動重新加載配置文件
d) 配置文件能夠處理不同的情況,開發(fā)人員在不同的環(huán)境下(開發(fā),測試,生產(chǎn))切換的時候,不需要創(chuàng)建多個
? 文件,可以通過標簽來實現(xiàn)
e) 自動壓縮已經(jīng)打出來的日志文件:RollingFileAppender在產(chǎn)生新文件的時候,會自動壓縮已經(jīng)打印出來的日志
? 文件。而且這個壓縮的過程是一個異步的過程。
logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->
<property name="LOG_HOME" value="${catalina.base:-.}/logs/" />
<!-- 控制臺輸出 -->
<appender name="Stdout" class="ch.qos.logback.core.ConsoleAppender">
<!-- 日志輸出編碼 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<!--
日志輸出格式:
%d表示日期時間,
%thread表示線程名,
%-5level:級別從左顯示5個字符寬度
%logger{50} 表示class的全名最長50個字符,否則按照句點分割
%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表示日期時間,
%thread表示線程名,
%-5level:級別從左顯示5個字符寬度
%logger{50} 表示class的全名最長50個字符,否則按照句點分割
%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>
<!-- 日志輸出級別 -->
<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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
濫用@PathVariable導(dǎo)致bug原因分析解決
這篇文章主要為大家介紹了濫用@PathVariable導(dǎo)致bug原因分析解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
Spring + Spring Boot + MyBatis + MongoDB的整合教程
這篇文章主要給大家介紹了關(guān)于Spring + Spring Boot + MyBatis + MongoDB的整合教程,文中通過圖文以及示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面來一起看看吧。2017-12-12
基于springboot服務(wù)間Feign調(diào)用超時的解決方案
這篇文章主要介紹了基于springboot服務(wù)間Feign調(diào)用超時的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
解決@springboottest注解無法加載src/main/resources目錄下文件
這篇文章主要介紹了解決@springboottest注解無法加載src/main/resources目錄下文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01

