समस्या यह हो सकती है कि वेबस्पेयर 6.1 आंतरिक रूप से जकार्ता कॉमन्स लॉगिंग (जेसीएल) का उपयोग करता है, और यदि आपका कोई भी कोड या तृतीय-पक्ष पुस्तकालय भी जेसीएल का उपयोग करता है, तो WebSphere की कॉन्फ़िगरेशन आपके अनुप्रयोग के साथ log4j का उपयोग करने का प्रयास कर रही है। यदि यह हो रहा है, तो आप देखेंगे कि आप क्या देख रहे हैं।
कई references और blog posts हैं जो इसे संबोधित करने के तरीकों का वर्णन करते हैं। हमें आपके वेब एप्लिकेशन (WAR संग्रह की जड़ में) META-INF/services
निर्देशिका में org.apache.commons.logging.LogFactory
नाम की एक फ़ाइल बनाने के लिए सबसे सरल मिला है।
org.apache.commons.logging.impl.Log4jFactory
(कम से कम WebSphere ... के नए संस्करणों के साथ) एक और महत्वपूर्ण है कि JCL जार log4j जार के रूप में एक ही स्थान से भरी हुई किया जाना चाहिए: यह फ़ाइल लाइन शामिल होना चाहिए। जैसे या तो दोनों वेब-आईएनएफ/lib या दोनों साझा पुस्तकालय से। इस प्रकार, आप वेबस्पेयर की अपनी प्रदत्त प्रति से जेसीएल लोड करने पर वापस नहीं आ सकते हैं। अगर वे different classloaders से लोड होते हैं, तो वे एक-दूसरे को ठीक से नहीं देख सकते हैं।
यदि आप कुछ कोड संलग्न करते हैं तो यह अच्छा होगा। मैं websphere का उपयोग कर रहा हूं और मेरे सभी लॉग अलग लॉग फ़ाइल में प्राप्त कर रहा हूं। –
क्या आप किसी भी लॉगिंग मुखौटा का उपयोग कर रहे हैं जैसे कि कॉमन्स-लॉगिंग? यदि ऐसा है, तो आपको क्लासलोडिंग ऑर्डर को पेरेंट-आखिरी में बदलना चाहिए। – szhem
आपको माता-पिता को आखिरी बार करने की ज़रूरत नहीं है, और जैसा कि इसके अन्य प्रभाव हैं, यदि संभव हो तो मैं इससे बचूंगा। – dbreaux