如何在 application.yml - Spring Boot 中设置环境变量
How to set an environment variable in application.yml - Spring Boot
我正在开发 spring 启动应用程序,并且正在编写一些使用 MockServer 的测试。
为了不在日志中显示对模拟服务器的所有请求,我必须将环境变量 mockserver.logLevel 设置为 OFF。
当我通过命令行执行此操作时,它完美运行:
mvn clean install -Dmockserver.logLevel="OFF"
但是当我尝试在 application.yml 中执行此操作时,它不起作用。
我尝试了以下方法:
mockserver:
log-level: OFF
mockserver:
loglevel: OFF
mockserver:
logLevel: OFF
logging:
level:
org.mockserver: OFF
但是 none 这些工作。
我想我在 application.yml 中没有写正确,但我想不出正确的方法。
我终于找到了一种方法,将其作为相关插件中的系统 属性 变量直接添加到 pom.xml 中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${version.maven-failsafe-plugin}</version>
<configuration>
<systemPropertyVariables>
<mockserver.logLevel>OFF</mockserver.logLevel>
</systemPropertyVariables>
</configuration>
</plugin>
另一个'wiring'解决方案:
@Configuration
public class MockServerConfiguration {
...
public MockServerConfiguration(@Value("${mockserver.logLevel}") String mockserverLogLevel) {
if (Objects.isNull(System.getProperty("mockserver.logLevel"))) {
System.setProperty("mockserver.logLevel", mockserverLogLevel);
}
}
...
}
我正在开发 spring 启动应用程序,并且正在编写一些使用 MockServer 的测试。 为了不在日志中显示对模拟服务器的所有请求,我必须将环境变量 mockserver.logLevel 设置为 OFF。 当我通过命令行执行此操作时,它完美运行:
mvn clean install -Dmockserver.logLevel="OFF"
但是当我尝试在 application.yml 中执行此操作时,它不起作用。 我尝试了以下方法:
mockserver:
log-level: OFF
mockserver:
loglevel: OFF
mockserver:
logLevel: OFF
logging:
level:
org.mockserver: OFF
但是 none 这些工作。 我想我在 application.yml 中没有写正确,但我想不出正确的方法。
我终于找到了一种方法,将其作为相关插件中的系统 属性 变量直接添加到 pom.xml 中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${version.maven-failsafe-plugin}</version>
<configuration>
<systemPropertyVariables>
<mockserver.logLevel>OFF</mockserver.logLevel>
</systemPropertyVariables>
</configuration>
</plugin>
另一个'wiring'解决方案:
@Configuration
public class MockServerConfiguration {
...
public MockServerConfiguration(@Value("${mockserver.logLevel}") String mockserverLogLevel) {
if (Objects.isNull(System.getProperty("mockserver.logLevel"))) {
System.setProperty("mockserver.logLevel", mockserverLogLevel);
}
}
...
}