springboot多环境配置

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

猜你喜欢

转载自blog.csdn.net/qq_30065395/article/details/81004668