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
運(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)勢在于:
a) 更快的實(shí)現(xiàn),logback內(nèi)核重寫過,是的性能有了很大的提升,內(nèi)存占用也更小。
b) logback-classic對slf4j進(jìn)行了更好的集成
c) 自動重新加載配置文件,當(dāng)配置文件修改后,logback-classic能自動重新加載配置文件
d) 配置文件能夠處理不同的情況,開發(fā)人員在不同的環(huán)境下(開發(fā),測試,生產(chǎn))切換的時(shí)候,不需要創(chuàng)建多個(gè)
? 文件,可以通過標(biāo)簽來實(shí)現(xiàn)
e) 自動壓縮已經(jīng)打出來的日志文件:RollingFileAppender在產(chǎn)生新文件的時(shí)候,會自動壓縮已經(jīng)打印出來的日志
? 文件。而且這個(gè)壓縮的過程是一個(gè)異步的過程。
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表示日期時(shí)間, %thread表示線程名, %-5level:級別從左顯示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:級別從左顯示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> <!-- 日志輸出級別 --> <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)文章
Java org.w3c.dom.Document 類方法引用報(bào)錯(cuò)
這篇文章主要介紹了Java org.w3c.dom.Document 類方法引用報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08Mac Book中Java環(huán)境變量設(shè)置的方法
本文給大家介紹mac book 中設(shè)置java環(huán)境變量的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-04-04Struts2 文件上傳進(jìn)度條的實(shí)現(xiàn)實(shí)例代碼
本篇文章主要介紹了Struts2 文件上傳進(jìn)度條的實(shí)現(xiàn)實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Fluent Mybatis實(shí)現(xiàn)環(huán)境隔離和租戶隔離
我們在實(shí)際的業(yè)務(wù)開發(fā)中,經(jīng)常會碰到環(huán)境邏輯隔離和租戶數(shù)據(jù)邏輯隔離的問題。本文就詳細(xì)的來介紹一下,感興趣的小伙伴們可以參考一下2021-08-08SpringBoot 使用hibernate validator校驗(yàn)
這篇文章主要介紹了SpringBoot 使用hibernate validator校驗(yàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11Spring框架實(shí)現(xiàn)AOP的兩種方式詳解
這篇文章主要為大家詳細(xì)介紹了Spring框架實(shí)現(xiàn)AOP的兩種方式,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)有一定的借鑒價(jià)值,需要的可以參考一下2022-09-09