मैं अपने जावा एप्लिकेशन में एम्बेडेड Log4j2 के लिए एक XML कॉन्फ़िगरेशन फ़ाइल का उपयोग करने का प्रयास कर रहा हूं, लेकिन काम नहीं कर रहा है।लोड एक्सएमएल कॉन्फ़िगरेशन फ़ाइल पर लॉग 4j2 त्रुटि
कोड:
ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream("/in/gunbound/prelauncher/server/log4j2/log4j2.xml"));
ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source);
ConfigurationFactory.setConfigurationFactory(factory);
त्रुटि:
Exception in thread "main" java.lang.ClassCastException: org.apache.logging.log4j.core.config.XMLConfiguration cannot be cast to org.apache.logging.log4j.core.config.ConfigurationFactory at in.gunbound.prelauncher.server.Main.main(Main.java:62)
क्लासपाथ में फ़ाइल जोड़ना हमेशा "आसान" नहीं होता है, उदा। यदि आप javapackager के साथ डेस्कटॉप एप्लिकेशन बनाते हैं, तो आप उदा। एक .exe फ़ाइल जो अनुप्रयोग शुरू करती है। 'जावा -जर' के साथ शुरू होने वाले "सामान्य" जावा कार्यक्रमों के लिए यह आसान है (उन मामलों में भी लॉगर कॉन्फ़िगरेशन आमतौर पर जार के बगल में एक फ़ोल्डर में होता है, जिस स्थिति में जार मैनिफेस्ट क्लासपाथ का वर्णन कर सकता है। लेकिन अगर javapackager ने प्रोग्राम फ़ाइलों को इंस्टॉलर इंस्टॉल किया है, आप उस log4j conf फ़ाइल को तब तक संपादित नहीं कर सकते जब तक कि आप व्यवस्थापक न हों) –