美文网首页
spring-boot中实现logback不同环境不同配置的方法

spring-boot中实现logback不同环境不同配置的方法

作者: wwbovo | 来源:发表于2019-10-28 17:24 被阅读0次

背景
项目: spring-boot+maven+logback
项目环境分开发、测试、压测、预发布、生产环境等不同环境,不同环境的配置文件是不一样,日志打印需要根据不同的环境使用不同的配置,例如开发环境的日志等级是DEBUG,其他环境的日志等级是INFO;开发环境日志输出到控制台,其他环境日志输出到文件(不输出到控制台),还有生产环境需要配置elk。那么问题来了:

不同环境设置不同的日志打印级别
不同环境设置不同的日志输出设备(控制台、文件、db等)
不同环境是否配置elk

方案:
1.在此之前的方案是通过maven打包读取application.yml中的配置后来不同环境标签也有所不同的需求,具体配置可以看我之前写的logback读取application.yml中的值实现多环境配置这篇文章。
2.新的方案为通过maven打包插件maven-compiler-plugin实现在打包时替换xml文件,本文介绍的是第二种方案

<!-- 不同环境的配置文件选择 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <!-- 覆盖原有文件 -->
                            <overwrite>true</overwrite>
                            <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                            <!-- 也可以用下面这样的方式(指定相对url的方式指定outputDirectory) <outputDirectory>target/classes</outputDirectory> -->
                            <!-- 待处理的资源定义 -->
                            <resources>
                                <resource>
                                    <!-- 指定resources插件处理哪个目录下的资源文件 -->
                                    <directory>src/main/resources/filters/${package.env}</directory>
                                    <filtering>false</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

项目目录如图所示:


image.png

相关文章

网友评论

      本文标题:spring-boot中实现logback不同环境不同配置的方法

      本文链接:https://www.haomeiwen.com/subject/gsrkuctx.html