Spring Boot的针对不同的环境创建不同的配置文件,
语法结构:application-{profile}.properties
profile:代表的就是一套环境
1.需求
application-dev.yml 开发环境 端口8090
application-test.yml 测试环境 端口8091
application-prod.yml 生产环境 端口8092
1.1.多个yml方式
1.2.运行项目:
在application.yml 中激活指定的配置文件:
spring:profiles:active: prod #测试开发环境
1.3.单个yml方式
spring:profiles.active: dev# 开发环境配置
spring:profiles: dev
server:port: 8080# 测试环境配置
spring:profiles: test
server:port: 8091# 生产环境配置
spring:profiles: prodserver:port: 8092
2.logback日志记录器
2.1.logback介绍
logback是log4j团队创建的开源日志组件,与log4j类似但是比log4j更强大,是log4j的改良版本。主要优势在于:
a) 更快的实现,logback内核重写过,是的性能有了很大的提升,内存占用也更小。
b) logback-classic对slf4j进行了更好的集成
c) 自动重新加载配置文件,当配置文件修改后,logback-classic能自动重新加载配置文件
d) 配置文件能够处理不同的情况,开发人员在不同的环境下(开发,测试,生产)切换的时候,不需要创建多个
文件,可以通过<if><else><then>标签来实现
e) 自动压缩已经打出来的日志文件:RollingFileAppender在产生新文件的时候,会自动压缩已经打印出来的日志
文件。而且这个压缩的过程是一个异步的过程。
2.2.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>
3.总结
springboot的配置文件
1、application.properties
server.port=9999
server.servlet.context-path=/springboot-helloworld
2、application.yml(树状接口)
server:
port: 9999
servlet:
context-path: /springboot-helloworld
yml语法:
①“.”------->“:”
②“=”------->“:空格”
③空格缩进