0

我正在开发一个 Spring Boot 应用程序,并且正在编写一些使用 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

但这些都不起作用。我想我没有在 application.yml 中正确地写它,但我想不出正确的方法。

4

2 回答 2

1

我终于找到了一种方法,将其作为相关插件中的系统属性变量直接添加到 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>
于 2020-06-03T14:01:17.637 回答
0

另一个“接线”解决方案:

@Configuration
public class MockServerConfiguration {
    ... 
    public MockServerConfiguration(@Value("${mockserver.logLevel}") String mockserverLogLevel) {
        if (Objects.isNull(System.getProperty("mockserver.logLevel"))) {
            System.setProperty("mockserver.logLevel", mockserverLogLevel);
        }
    }
    ...
}
于 2021-11-03T13:19:46.440 回答