• SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active


    SpringBoot application.yml logback.xml,多环境配置,支持 java -jar --spring.profiles.active

    https://www.cnblogs.com/sweetchildomine/p/6980054.html

    趁今天有时间整理了一下

    启动命令为

    //开发环境

    java -jar app.jar --spring.profiles.active=dev--server.port=8060

    //测试环境

    java -jar app.jar --spring.profiles.active=qa --server.port=8060

    //生产环境

    java -jar app.jar --spring.profiles.active=prod --server.port=8060

    废话少说,直接上代码

    application.yml,打包为jar的时候主要把spring.profile.active注释掉.否则 命令行参数 --spring.profiles.active可能不生效,不知何解

    复制代码
    spring:
      profiles:
        #指定读取配置文件:dev(开发环境),prod(生产环境),qa(测试环境)
        active: qa
    
    #日志
    logging:
      config: classpath:logback-${spring.profiles.active}.xml
    复制代码

     logback-dev.xml

    复制代码
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration debug="true">
        <contextName>logback</contextName>
        <property name="log.path" value="lzw/logback.log" />
    
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter>
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.path}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
            </rollingPolicy>
    
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <root level="warn">
            <appender-ref ref="console" />
            <!--<appender-ref ref="file" />-->
        </root>
        <logger name="org.springframework.scheduling"  level="error" />
        <Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
        <Logger name="org.springframework" level="debug" />
        <logger name="com.lzw" level="debug" />
        <logger name="org.mybatis" level="debug" />
        <logger name="java.sql" level="error" />
        <logger name="java.sql.Connection" level="error" />
        <logger name="java.sql.Statement" level="error" />
        <logger name="java.sql.PreparedStatement" level="error" />
        <logger name="java.sql.ResultSet" level="error" />
    </configuration>
    复制代码

    logback-qa.xml

    复制代码
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <configuration debug="true">
        <contextName>logback</contextName>
    
        <property name="log.path" value="lzw/logback.log" />
    
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter>
            <encoder>
                <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${log.path}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
            </rollingPolicy>
    
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <root level="warn">
            <appender-ref ref="file" />
        </root>
        <logger name="org.springframework.scheduling"  level="error" />
        <logger name="com.lzw" level="warn" />
        <Logger name="org.apache.catalina.util.LifecycleBase" level="warn" />
        <Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
        <Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
        <Logger name="org.springframework" level="warn" />
        <logger name="org.mybatis" level="warn" />
        <logger name="java.sql" level="error" />
        <logger name="java.sql.Connection" level="error" />
        <logger name="java.sql.Statement" level="error" />
        <logger name="java.sql.PreparedStatement" level="error" />
        <logger name="java.sql.ResultSet" level="error" />
    </configuration>
    复制代码
  • 相关阅读:
    一个故事讲透供应链的三大战略
    电商系统之订单正向与逆向流程设计
    广告深度预估技术在美团到店场景下的突破与畅想
    美团智能客服核心技术与实践
    供应链里的批次管理,你了解多少
    对于HTML语义化的理解
    前端三大框架中Vue与React区别
    对于mvc模式的理解与学习
    对于javascript里面闭包的理解
    webpack的理解与使用
  • 原文地址:https://www.cnblogs.com/handsome1013/p/11069695.html
Copyright © 2020-2023  润新知