2010-10-30 11 views
28

मुझे अपने लॉगिंग कॉल के परिणाम नहीं मिल रहे हैं। लॉग इन करने के संदेशों मैंने कोशिश की दोनों:Google ऐप इंजन - मेरे लॉगिंग संदेश नहीं मिल रहे हैं

System.out.println("some message"); 

और

Logger logger = Logger.getLogger("MyLogger"); // Logger is java.util.logging.Logger 

// ... 

logger.info("some message"); 

मैं अपने ऐप तैनात किया है और कुछ परीक्षणों के बाद मैंने तय कर लिया कुछ लॉग संदेशों की जाँच करें। लेकिन कोई संदेश नहीं थे। मैं करने के लिए "जानकारी" डिफ़ॉल्ट "त्रुटि", और केवल संदेशों मैं देखा है से थे सेवा संदेश इस तरह कम से कम गंभीरता स्तर बदल:

http://dl.dropbox.com/u/1678938/logs.png

मैं भी अगर किसी को एक छोटा स्निपेट दिखाने आभारी होंगे कुछ डेटा लॉगिंग के साथ (यदि यह काम करता है) - मुझे संदेह है कि मेरी समस्या उस बेवकूफ समस्याओं में से एक हो सकती है जब कुछ हद तक गलत तरीके से स्थित अल्पविराम स्थिति का कारण हो सकता है।

+0

क्या आपने उन लॉग संदेशों के आगे + संकेतों को विस्तारित करने के लिए क्लिक किया था? जैसा कि प्रदर्शित किया गया है, यह बताने में असंभव है कि आपके द्वारा लॉग की गई चीज़ें वास्तव में लॉग में हैं या नहीं। – geoffspear

+0

हां, मैंने + 'es पर क्लिक किया - जानकारी के समान कुछ भी नहीं था, मैंने अपने ऐप में लॉग इन किया था। ऐप – Alexander

+1

पर कुछ अनुरोधों का वर्णन करने वाले केवल "डमी" स्ट्रिंग्स क्या आप अपने ऐप के सही संस्करण के लिए लॉग देख रहे हैं? यह संभव है कि आपने संस्करण एक्स पर तैनात किया है लेकिन मेरी समस्या पोस्ट करने से पहले संस्करण वाई –

उत्तर

12

समस्या अधिक ठोस रूप में घट गई है - ऐप इंजन सूचना-संदेश खाता है, लेकिन दूसरों को दिखाता है, जैसे त्रुटि और चेतावनी संदेश।

इस कॉल के बाद मैं अंत में मेरी जानकारी संदेशों को देखा है:

log.setLevel(Level.INFO); 

लेकिन यह अभी भी स्पष्ट रूप से नहीं है - क्यों की जानकारी-संदेशों से पता चला नहीं जा रहा था। गूगल के manual कहता है:

सब कुछ सर्वलेट मानक आउटपुट धारा (System.out) और मानक त्रुटि धारा (System.err) को लिखते App इंजन द्वारा कब्जा कर लिया और आवेदन लॉग में दर्ज की गई है। मानक आउटपुट स्ट्रीम में लिखे गए लाइनें "INFO" स्तर पर लॉग इन हैं, और मानक त्रुटि स्ट्रीम पर लिखी गई पंक्तियां "चेतावनी" स्तर पर लॉग इन हैं।

+0

यदि यह वास्तव में काम करता है तो मैं इसे आजमाउंगा। –

+5

इस निर्णय को छोड़कर मुझे एक और तरीका मिला - फ़ाइल वेब-आईएनएफ/लॉगिंग.प्रोपर्टीज को संपादित करने का प्रयास करें। इसमें केवल एक स्ट्रिंग है - आपको वॉर्निंग स्तर को INFO (या कुछ और) – Alexander

27

क्या यह हो सकता है कि आपका logging.properties डिफ़ॉल्ट मान को WARNING पर सेट कर रहा है?

# Set the default logging level for all loggers to WARNING 
.level = WARNING 

# Default level for subpackages of 'server' will be INFO 
com.company.whatever.server.level=INFO 
+1

पर धन्यवाद देना चाहिए। मैं एक घंटों में फंस गया क्योंकि वह बेवकूफ चीज ... – KimKha

8

बिल्कुल एक ही समस्या थी और

.level = चेतावनी

को

से logging.properties में मूल्य बदलने के बाद:

हमारा हमारे war/WEB-INF/logging.properties फ़ाइल में इस है

.level = INFO

पीआर प्रतीक निश्चित रूप से तय किया गया था। Google को अपने दस्तावेज़ों को अपडेट करने और/या आपूर्ति किए गए डिफ़ॉल्ट के मान को बदलने की आवश्यकता है ताकि "INFO" लॉग संदेश निगल न जाए।

+0

Google दस्तावेज़ भावना से सहमत है। और, विस्तृत करने के लिए, विभिन्न, आश्रित टुकड़ों को सभी नमूना कोड, कॉन्फ़िगरेशन इत्यादि के साथ दस्तावेज करने की आवश्यकता है – mobibob

+0

यह काम करता है, लेकिन यह क्यों काम करता है? – Micro

0

मैं

logger.log(Level.SEVERE, "test message"); 

यह प्रवेश करने में किसी भी मूल्य को बदलने की जरूरत नहीं है के परीक्षण के लिए SEVERE को LEVEL स्थापित करने के लिए इस्तेमाल किया।गुण