SpringBoot多環(huán)境配置及日志記錄器詳解
Spring Boot多環(huán)境配置
Spring Boot的針對(duì)不同的環(huán)境創(chuàng)建不同的配置文件,
語(yǔ)法結(jié)構(gòu):application-{profile}.properties
profile:代表的就是一套環(huán)境
需求
application-dev.yml 開發(fā)環(huán)境 端口8090
application-test.yml 測(cè)試環(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 # 測(cè)試環(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ā),測(cè)試,生產(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的全名最長(zhǎng)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的全名最長(zhǎng)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ù)庫(kù) -->
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
日志異步到數(shù)據(jù)庫(kù)
<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)文章
Java org.w3c.dom.Document 類方法引用報(bào)錯(cuò)
這篇文章主要介紹了Java org.w3c.dom.Document 類方法引用報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Mac Book中Java環(huán)境變量設(shè)置的方法
本文給大家介紹mac book 中設(shè)置java環(huán)境變量的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-04-04
Struts2 文件上傳進(jìn)度條的實(shí)現(xiàn)實(shí)例代碼
本篇文章主要介紹了Struts2 文件上傳進(jìn)度條的實(shí)現(xiàn)實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Fluent Mybatis實(shí)現(xiàn)環(huán)境隔離和租戶隔離
我們?cè)趯?shí)際的業(yè)務(wù)開發(fā)中,經(jīng)常會(huì)碰到環(huán)境邏輯隔離和租戶數(shù)據(jù)邏輯隔離的問題。本文就詳細(xì)的來介紹一下,感興趣的小伙伴們可以參考一下2021-08-08
SpringBoot 使用hibernate validator校驗(yàn)
這篇文章主要介紹了SpringBoot 使用hibernate validator校驗(yàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
Spring框架實(shí)現(xiàn)AOP的兩種方式詳解
這篇文章主要為大家詳細(xì)介紹了Spring框架實(shí)現(xiàn)AOP的兩種方式,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定的借鑒價(jià)值,需要的可以參考一下2022-09-09

