2011-04-10 10 views
6

से चल रहे एप्लिकेशन जब मैं आईडीईए में एप्लिकेशन विकसित करता हूं, तो मुझे एप्लिकेशन पर प्रभाव डालने के लिए logback.xml कहां रखना चाहिए?logback.xml और JetBrains IDEA IDE

ऐसा लगता है कि जब आप आईडीईए चलाते/डीबग करते हैं तो कोई जार नहीं बनाते हैं और कुछ बनाने के लिए मेवेन का आह्वान नहीं करते हैं। क्या यह सीधे संकलित * .class फ़ाइल से मुख्य() निष्पादित करता है? यदि हां, तो मैं logback.xml कहां डाल सकता हूं ताकि इसका असर पड़े?

उत्तर

15

logback.xml आपके क्लासस्पैट की मूल निर्देशिका में उपलब्ध होना चाहिए। जब आप अपना आवेदन चलाते हैं, तो पूर्ण क्लासस्पैट बहुत शुरुआत में मुद्रित होता है। जब मैं logback.xml/src/main/resources (मेवेन प्रोजेक्ट) में डालता हूं तो यह बिना किसी समस्या के काम करता है। इसे /src/test/resources में logback-test.xml नाम के साथ भी रखा गया है।

सीधे शब्दों में चलाएँ:

getClass().getClassLoader().getResource("/logback.xml"); 

और देखें कि क्या यह कुछ या null देता है।

आप Maven परियोजना, खुला परियोजना संरचना (Ctrl + Alt + शिफ्ट + एस) के साथ काम नहीं कर रहे हैं और मॉड्यूल अनुभाग का चयन logback.xml वाले फ़ोल्डर में जोड़ सकते हैं और के रूप में चिह्नित स्रोत (नीला आइकन)।

+0

बहुत बहुत धन्यवाद! क्या मेवेन को लॉगबैक.एक्सएमएल को जार के बगल में बनाने का कोई तरीका है, इसके अंदर नहीं? –

+1

डिफ़ॉल्ट रूप से, यदि आप किसी भी फ़ाइल को JAR के समान निर्देशिका में डालते हैं, तो इसे क्लासस्पैट पर प्रचारित नहीं किया जाएगा, इसलिए लॉगबैक को 'logback.xml' नहीं दिखाई देगा। लेकिन निश्चित रूप से, इसे '/ src/main/resource' में न रखें (और इसे मैन्युअल रूप से कॉपी करें जहां आप चाहते हैं)। यदि आप कॉन्फ़िगरेशन को जल्दी से बदलने में सक्षम होने के लिए 'logback.xml' रखना चाहते हैं, तो लॉगबैक अन्य संभावनाओं के साथ बॉक्स के बाहर पर्यावरण गुणों को पढ़ने का समर्थन करता है। –

+1

इसके लिए धन्यवाद, मुझे पोस्टग्रेस में लॉगिंग मिल गई! आखिरकार मुझे पता चला कि मेरी फाइल का नाम backlog.xml था और logback.xml हाहा नहीं! – Kuberchaun