मैं जावा के लिए GoogleAppEngine का उपयोग करके एक डिफ़ॉल्ट प्रोजेक्ट बनाता हूं, और जब मैं Google सर्वर पर अपना एप्लिकेशन तैनात करता हूं तो मेरे पास पहले अनुरोध के लिए निम्न चेतावनी संदेश होता है।
log4j: WARN लॉगर (DataNucleus.Connection) के लिए कोई परिशिष्ट नहीं पाया जा सकता है।
log4j: चेतावनी कृपया log4j सिस्टम को ठीक से प्रारंभ करें।
लॉग ठीक काम कर रहा है, लेकिन कुछ समस्या इस समस्या से देरी हो रही है।
मैं इसे सही तरीके से कैसे कॉन्फ़िगर कर सकता हूं?
उत्तर:
उत्तर № 1 के लिए 1क्या आपको यकीन है कि यह आपके कुछ अनुरोधों में देरी कर रहा है?
जीएई मानक सर्वलेट की तरह काम नहीं करता हैकंटेनर। दृश्यों के पीछे यह निष्क्रिय होने वाले किसी भी वेबपैप्स को अनलोड करता है, और तब उन्हें फिर से लोड करता है जब उसे उस वेबैप के लिए नया अनुरोध मिलता है। यह मूल रूप से आपके आवेदन की पूरी तरह से पुनर्निर्माण करने के बराबर है, और यह तब तक शुरू नहीं होता है जब तक कि यह शुरू नहीं होता है बाद जीएई को अनुरोध प्राप्त हुआ है। इस प्रकार किसी भी अनुरोध जो लोड ऑपरेशन को ट्रिगर करता है, बाद के अनुरोधों की तुलना में देरी से देरी होगी।
लेकिन देरी में योगदान देने वाली कई सारी चीजें हैं, और मुझे लगता है कि एक अनियंत्रित log4j सेटअप वास्तविक अंतर नहीं बना रहा है।
जवाब के लिए 0 № 2
इस संदेश का अर्थ है कि कोई log4j कॉन्फ़िगरेशन नहीं मिला है।
आपको log4j के लिए कॉन्फ़िगरेशन रखना होगा, उदाहरण के लिए नामित फ़ाइल में log4j.properties
ऐप क्लासपाथ में।
कॉन्फ़िगरेशन, उदाहरण के लिए, होगा:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n
यदि आपकी परियोजना मेवेन आधारित है, तो रखने के लिए सबसे अच्छी जगह है log4j.properties
होगा src/main/resources