SpringBoot 不同环境,加载不同日志配置

开篇

  忽然想起好久不写博客,今天就搞一个

背景

  现有项目集成的日志采集框架有点小问题,每次运行时,都会在日志加载这里卡顿半分钟,非常影响工作效率.并且本地单测或者运行,也没有日志采集的必要性,所以我们今天改造项目,实现不同环境下加载不同的日志配置,这样在开发环境和测试环境下不再启动日志采集的配置,加快项目启动

Start

  项目 SpringBoot Version和Log Version


  2.1.8.RELEASE
  1.7.14
  1.2.3

One

  首先 maven 构建时要有一个profile(鉴于所有项目都有profile,我这里贴一个简单版本)


        
            dev
            
                dev             
            
        
        
            test
            
                test
            
            
                true
            
        
        
            prev
            
                prev
             
        
        
            prod
            
                prod
            
        
    

Two

  添加 maven resource 插件 和 build resource过程 (这里必须要添加,保证maven 的 配置项 可以加载到 SpringBoot 中)


        trade-service-inquire
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.ziroom.trade.rent.inquire.Application
                
                
                    
                        
                            repackage
                        
                    
                
            
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                2.6
                
                    UTF-8
                
            
        
        
            
                src/main/resources
                true
            
        
    

Tree

  添加 SpringBoot 配置 (application.properties 文件中)

spring.profiles.active=@env@

Four

  改造原有的 logback-spring.xml 文件,使用 springProfile 包裹原有的日志配置,并通过 name 指定不同环境下的日志配置

    
        
            
            
        
    

     
       
            
            
       
    

End

  整个改造的核心就是利用 maven 配置的profile 替换 springBoot 中的 profileActive,并利用 logback 标签所提供能力(根据spring.profile.active 加载不同日志配置),实现不同环境下加载不同的日志配置

你可能感兴趣的:(SpringBoot 不同环境,加载不同日志配置)