一般项目都逃不掉开发、测试和生产这三套环境,如果每次给这三套环境打包都去改配置,累死不说,还一不留心就出差错。倒不如每套环境各给一套配置来的轻松。上代码:
![](https://img-blog.csdnimg.cn/img_convert/6aade79dc331f0bf0105e7bda45ea9cf.png)
1、通用配置放在application.properties(用yml也一样的):
#本端口名
server.port=8181
#本服务名
spring.application.name=translator-provider
#指定环境
spring.profiles.active=prod
#指定日志
logging.config=classpath:logback-${spring.profiles.active}.xml
#合成音频文件名
tts_fileName=audio.pcm
2、各环境自己的配置放在application-环境.properties(yml同理):
application-prod.properties:
#语音识别音频文件保存路径
iat_filePath=/home/wulf/translate/input
#语音解析音频文件保存路径
tts_filePath=/home/wulf/translate/output
#对外合成音频路径
tts_prefix=wulf.com/translate/audio/
#白名单
white_ips=192.111.30.75|192.111.40.75
application-dev.properties:
#语音识别音频文件保存路径
iat_filePath=/home/wumanshu/input
#语音解析音频文件保存路径
tts_filePath=/home/wumanshu/output
#对外合成音频路径
tts_prefix=192.111.6.22:${server.port}/audio/
#白名单
white_ips=192.111.166.157|192.111.166.158
application-test.properties:
#语音识别音频文件保存路径
iat_filePath=/home/lulu/input
#语音解析音频文件保存路径
tts_filePath=/home/lulu/output
#对外合成音频路径
tts_prefix=192.111.6.23:${server.port}/audio/
#白名单
white_ips=192.111.166.157|192.111.166.158
3、日志配置由application.properties中的logging.config指定,可以看到最终仍是由spring.profiles.active来敲定,同application-环境.properties,我们只需配置logback-环境.xml即可,这里的“环境”变量需要跟spring.profiles.active变量相等:
logback-prod.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="appName" value="wulf"/>
<property name="LOG_HOME" value="/home/wulf/translate"/>
<Property name="cdr-directory-send" value="/home/wulf/translate/REPORT/send"/>
<Property name="file-suffix" value="%d{yyyyMMdd}"/>
<Property name="pv-type" value="5L"/>
<!-- 配置本机的IP地址,去掉.,每段不足三位的,前端补零 -->
<Property name="ipStr" value="192168030074"/>
<!-- 应用端口号,不足五位的前端补零凑够五位 -->
<Property name="portStr" value="08181"/>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<property name="LOG_PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n"/>
<!--控制台日志, 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
</filter>
<encoder>
<pattern>${LOG_PATTERN}</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!--文件日志, 按照每天生成日志文件 -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class=