फ़ाइल के बजाए क्लासपाथ संसाधन के रूप में लॉगबैक कॉन्फ़िगरेशन को कैसे निर्दिष्ट करें मेरे पास निम्न स्थिति है। मुझे अलग-अलग बैच फ़ाइलों द्वारा लॉन्च किए गए दो प्रोग्राम चलाने में सक्षम होना चाहिए, जहां प्रत्येक बैच फ़ाइल एक जार क्लास को उसी जार से मुख्य() के साथ आमंत्रित करती है। मैं चाहता हूं कि प्रत्येक कार्यक्रम का अपना लॉग होना पड़े। हालांकि, दूसरा प्रोग्राम पहले के लिए एक इंस्टॉलर है, और इसलिए, मैं आसानी से निर्दिष्ट नहीं करना चाहता /Dlogback.configurationFile =/path/to/config फ़ाइल के रूप में उस स्थान के रूप में अभी तक मौजूद नहीं हो सकता है।फ़ाइल
Logback documentation seems to provide a solution लेकिन मैं कैसे बनाने के लिए का एक उदाहरण की जरूरत है यह काम:
एक प्रणाली संपत्ति
के रूप में डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल का स्थान निर्दिष्ट अगर आप चाहें तो आप का स्थान निर्दिष्ट कर सकते हैं लॉगबैक.कॉन्फिगरेशनफाइल नामक एक सिस्टम प्रॉपर्टी के साथ डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल। इस संपत्ति का मूल्य एक यूआरएल, कक्षा पथ पर संसाधन या को एप्लिकेशन के बाहर की फाइल में एक पथ हो सकता है।
जावा -Dlogback.configurationFile =/path/to/config.xml chapters.configuration.MyApp1
किसी को भी एक उदाहरण है जहां logback.configurationFile के रूप में classpath पर एक संसाधन के रूप में परिभाषित किया गया करने के लिए मुझसे बात कर सकते हैं फाइल सिस्टम का विरोध किया?
यदि यह केवल लॉग-फ़ाइल है जिसे आप बदलना चाहते हैं तो लॉग-फ़ाइल को एक logback.xml कॉन्फ़िगरेशन फ़ाइल में चर के रूप में परिभाषित क्यों नहीं करें। यह विशेष रूप से अच्छा है अगर अधिकांश लॉगिंग कॉन्फ़िगरेशन समान है। फिर logfile नाम क्लासपाथ में किसी संसाधन से पढ़ा जा सकता है या इंस्टॉलर के आमंत्रण का हिस्सा बन सकता है। – andygavin