मैं स्प्रिंग बूट एप्लिकेशन पर काम कर रहा हूं और मैं कुछ परीक्षण लिख रहा हूं जो MockServer का उपयोग करते हैं। लॉग में प्रदर्शित नकली सर्वर के लिए सभी अनुरोध नहीं होने के लिए, मुझे पर्यावरण चर mockserver.logLevel को बंद पर सेट करना होगा। जब मैं इसे कमांड लाइन के माध्यम से करता हूं, तो यह पूरी तरह से काम करता है:

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 में सही ढंग से नहीं लिखता लेकिन मैं सही तरीके से नहीं समझ सकता।

0
Minemosynne 25 फरवरी 2020, 16:23

2 जवाब

सबसे बढ़िया उत्तर

मुझे अंततः इसे सीधे 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>
1
Minemosynne 3 जून 2020, 17:01

एक और 'वायरिंग' समाधान:

@Configuration
public class MockServerConfiguration {
    ... 
    public MockServerConfiguration(@Value("${mockserver.logLevel}") String mockserverLogLevel) {
        if (Objects.isNull(System.getProperty("mockserver.logLevel"))) {
            System.setProperty("mockserver.logLevel", mockserverLogLevel);
        }
    }
    ...
}
0
João Dias 3 नवम्बर 2021, 17:14