मैंने अभी लॉग ऑन जे का उपयोग करके अपनी गतिविधि को लॉग इन करने के लिए काम पर एक मौजूदा वेब एप्लिकेशन उठाया है। मैंने अपने वर्कस्पेस को ठीक उसी तरह कॉन्फ़िगर किया है जैसा कि मुझे बताया गया था और बाकी सब कुछ (डीबी कनेक्शन, प्रमाणीकरण, आदि ...) ठीक काम करता है सिवाय इसके कि लॉग फ़ाइल में कुछ भी नहीं लिखा जा रहा है। अन्य समान अनुप्रयोगों में लॉगिंग करने में कोई समस्या नहीं है।Log4J कुछ भी लॉग नहीं करता
जब एप्लिकेशन शुरू होता है तो मैंने वेबस्पेयर कंसोल को देखा है और वहां कोई त्रुटि नहीं है जो इंगित कर सकती है कि Log4J लॉगिंग क्यों नहीं कर रहा है।
मैंने इसका उल्लेख किसी अन्य देव (जिसने एक बार इस एप्लिकेशन पर काम किया था, लेकिन थोड़ी देर के लिए नहीं किया था और इससे पहले की तारीख से अधिक है) जिन्होंने टिप्पणी की कि यह बहुत अजीब व्यवहार था, लेकिन उसे नहीं पता था कि यह क्यों लॉग इन करने में विफल हो सकता है और किसी भी त्रुटि की रिपोर्ट नहीं कर सकता है।
मैं कॉन्फ़िगरेशन फ़ाइल और गुण फ़ाइल पर गया हूं और सबकुछ ठीक दिखता है। मुझे संदेह है कि Log4J कभी भी log4j.xml नहीं पढ़ रहा है, लेकिन मुझे इसके बारे में निश्चित नहीं है। यह थोड़ी देर के बाद से मैंने लॉग 4 जे के साथ काम किया है - क्या किसी के पास इस प्रकार की समस्या को परेशानी-शूटिंग पर कुछ अच्छी युक्तियां हैं?
पीएस: इस एप्लिकेशन के कई उदाहरण हैं जो विभिन्न परीक्षण/क्यूए/प्रोड सर्वर पर तैनात किए गए हैं और ये सभी लॉग ठीक हैं। यह स्थानीय वर्कस्टेशन पर केवल है जो लॉगिंग चुपचाप विफल होने लगता है।
अद्यतन: तो यह तरीका आवेदन तैनात किया जा रहा है के साथ एक समस्या होने लगते है। मैंने क्लासलोडर मोड को "पैरेंट लास्ट" में बदल दिया और मैं देख सकता हूं कि लॉग 4 जे फ़ाइल कम से कम पढ़ी जा रही है। और पहली क्रिया जो मैं कोशिश करता हूं उसे ClassNotFoundException
ट्रिगर करता है जिसमें कहा गया है कि org.apache.commons.logging.impl.Log4jFactory
नहीं मिला।
2 अद्यतन: मैं कुछ अजनबी देखा है ... आवेदन दो युद्ध परियोजनाएं हैं - उनमें से एक यूआई के लिए है और कुछ वेब सेवाओं के लिए अन्य है। UI के लिए प्रोजेक्ट सफलतापूर्वक लॉग फ़ाइल में अपने परिचालन लॉगिंग कर रहा है। वेब सेवा प्रोजेक्ट वह है जो ClassNotFoundException
के साथ विफल रहता है। उनमें से दोनों को कॉमन्स-लॉगिंग.जर जावाई मॉड्यूल निर्भरता के रूप में सूचीबद्ध किया गया है, और उनमें से कोई भी प्रोजेक्ट-विशिष्ट लॉगिंग कॉन्फ़िगरेशन नहीं है (सभी कॉन्फ़िगरेशन फ़ाइलें संसाधन प्रोजेक्ट में हैं)।
एक प्रमुख अंतर यह है कि कि यूआई परियोजना कुछ अन्य घर में व्यवस्थाएं भी शामिल है (जार के रूप में पूर्व संकलित) कि हो सकता है पहले से ही आवश्यक लॉगिंग विन्यास शामिल हैं और हो सकता है कि जहां अंतर नहीं है है।
मैंने जवाब का उपयोग करने की कोशिश की (एक फ़ाइल जिसे org.apache.commons.logging.LogFactory नाम दिया गया है जिसमें मेटा-आईएनएफ/सेवाओं में एक पंक्ति है: "org.apache.commons.logging.impl.Log4jFactory") इस प्रश्न से: Websphere all logs are going to SystemOut.log लेकिन यह मदद नहीं प्रतीत होता था।
यह किस प्रकार का लॉगर उदाहरण है? रोलिंगफाइलएपेंडर – Woot4Moo
@ Woot4Moo में: यह एक फ़ाइल ऐपेंडर है। – FrustratedWithFormsDesigner
क्या आप अपनी कॉन्फ़िगरेशन फ़ाइल पोस्ट कर सकते हैं? क्या सभी वातावरण में कॉन्फ़िगर समान है? – evanwong