2010-11-05 12 views
15

मैवेन में परीक्षण के दौरान सभी DEBUG संदेशों को कंसोल करने के लिए लॉग इन करने का प्रयास कर रहा हूं। इस उद्देश्य के लिए मैंने एक फ़ाइल src/test/resources/log4j.properties बनाई है, जो कि पहले से src/main/resources/log4j.properties में कॉन्फ़िगरेशन को ओवरराइड करने जा रहा है। दुर्भाग्य से ऐसा ओवरराइड नहीं हो रहा है। इसे क्यों और कैसे ठीक करें?परीक्षण के दौरान log4j.properties को ओवरराइड कैसे करें?

+0

इसे काम करना चाहिए। ;) – Bozho

+1

@ बोझो मैं भी ऐसा सोचता हूं, लेकिन इन दो फाइलों के संघर्ष की तरह दिखता है। जब मेरे पास दो नो लॉगिंग कॉन्फ़िगरेशन काम करता है। वे दोनों को केवल अनदेखा कर दिया गया है ... – yegor256

+0

मुझे लगता है कि मेवेन में पथ में दोनों संसाधन शामिल हैं, इसलिए log4j भ्रमित हो जाता है जो उपयोग करने के लिए और इसके बजाय कुछ भी नहीं दिखाकर विफल रहता है। क्या रॉबर्ट का समाधान काम करता है? –

उत्तर

3

यह के रूप में यह है काम करना चाहिए, और यह काम करता है। समस्या कहीं और है।

ps। मेरे क्लासपाथ में लॉगर्स के साथ एक गड़बड़ थी: jog4j, slf4j, लॉगबैक (अन्य निर्भरताओं से)। जैसा कि मैं समझता हूं, वे सभी संघर्ष में हैं। मैंने अभी तक इस गड़बड़ी को साफ नहीं किया है, और मुझे अभी भी पता नहीं है कि सभी पैकेजों को एक लॉगिंग सुविधा और एक कॉन्फ़िगरेशन का उपयोग करने के लिए कैसे बनाया जाए।

+1

लिखें कि वास्तव में – Bozho

+1

यह कैसे है कि आपने गड़बड़ी को साफ नहीं किया है। उन्हें सभी को एक साथ काम करने और सही उत्तर पाने के बारे में नहीं पता? –

26

अपनी टेस्ट कॉन्फ़िगरेशन फ़ाइल का नाम बदलें उदा। log4j-surefire.properties और कॉन्फ़िगर log4j अचूक निष्पादन के दौरान यह लेने के लिए:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <systemPropertyVariables> 
      <log4j.configuration>file:${project.build.testOutputDirectory}/log4j-surefire.properties</log4j.configuration> 
     </systemPropertyVariables> 
    </configuration> 
</plugin> 
+0

मैंने आपका जवाब अप-वोट किया, इसके लिए बहुत धन्यवाद। दुर्भाग्यवश, यह मेरे मामले में सहायक नहीं है, क्योंकि समस्या फ़ाइल के स्थान के साथ नहीं है, लेकिन 'log4j' उपयोग' slf4j' के साथ है। – yegor256

+1

दाएं। फिर आपको अपना जवाब पोस्ट करना चाहिए और इसे स्वीकार करना चाहिए। –

संबंधित मुद्दे