yml文件配置
spring:
profiles.active: dev
#################开发#################
---
spring:
profiles: dev
log:
path: ./dev/logs
level: info
server:
port: 8081
#################测试#################
---
spring:
profiles: test
log:
path: ./test/logs
level: trace
server:
port: 8082
#################生产#################
---
spring:
profiles: prod
log:
path: ./prod/logs
level: info
server:
port: 8083
logback文件配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="30 seconds">
<springProperty scope="context" name="logLevel" source="log.level"/>
<springProperty scope="context" name="logPath" source="log.path"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] [%class:%line] - %m %n</pattern>
</encoder>
</appender>
<appender name="FILE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${logPath}/sopserver.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%level] [%class:%line] - %m %n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logPath}/sopserver.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
<!-- 30 days -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<root level="${logLevel}">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE-OUT" />
</root>
</configuration>
启动服务
java -jar -Dspring.profiles.active=dev|test|prod serverName.jar
小结
1. yml配置端口、日志文件路径,日志级别,用—区分环境
2. 配置logback文件
3. 启动服务根据spring.profiles.active指定环境dev|test|prod