SpringBoot多環(huán)境配置及日志記錄器詳解
Spring Boot多環(huán)境配置
Spring Boot的針對不同的環(huán)境創(chuàng)建不同的配置文件,
語法結構:application-{profile}.properties
profile:代表的就是一套環(huán)境
需求
application-dev.yml 開發(fā)環(huán)境 端口8090
application-test.yml 測試環(huán)境 端口8091
application-prod.yml 生產環(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 # 生產環(huán)境配置 spring: profiles: prod server: port: 8092
logback日志記錄器
logback介紹
logback是log4j團隊創(chuàng)建的開源日志組件,與log4j類似但是比log4j更強大,是log4j的改良版本。主要優(yōu)勢在于:
a) 更快的實現(xiàn),logback內核重寫過,是的性能有了很大的提升,內存占用也更小。
b) logback-classic對slf4j進行了更好的集成
c) 自動重新加載配置文件,當配置文件修改后,logback-classic能自動重新加載配置文件
d) 配置文件能夠處理不同的情況,開發(fā)人員在不同的環(huán)境下(開發(fā),測試,生產)切換的時候,不需要創(chuàng)建多個
? 文件,可以通過標簽來實現(xiàn)
e) 自動壓縮已經打出來的日志文件:RollingFileAppender在產生新文件的時候,會自動壓縮已經打印出來的日志
? 文件。而且這個壓縮的過程是一個異步的過程。
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>
<!--日志異步到數據庫 -->
<!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">
日志異步到數據庫
<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>到此這篇關于SpringBoot多環(huán)境配置及日志記錄器的文章就介紹到這了,更多相關SpringBoot多環(huán)境配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java org.w3c.dom.Document 類方法引用報錯
這篇文章主要介紹了Java org.w3c.dom.Document 類方法引用報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Fluent Mybatis實現(xiàn)環(huán)境隔離和租戶隔離
我們在實際的業(yè)務開發(fā)中,經常會碰到環(huán)境邏輯隔離和租戶數據邏輯隔離的問題。本文就詳細的來介紹一下,感興趣的小伙伴們可以參考一下2021-08-08
SpringBoot 使用hibernate validator校驗
這篇文章主要介紹了SpringBoot 使用hibernate validator校驗,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11

