एंड्रॉइड के लिए विकसित करते समय ग्रहण कंसोल में संदेशों को आउटपुट कैसे करें


164

एंड्रॉइड ऐप को डेवलप और डीबग करते समय मैं एक्लिप्स कंसोल (या लॉग) को संदेश (ध्वज की तरह) कैसे प्रिंट कर सकता हूं

जवाबों:


153

कंसोल पर आउटपुट करने की कोशिश करने के बजाय, LogLogCat को आउटपुट करेगा जिसे आप ग्रहण में पा सकते हैं: विंडो-> शो व्यू-> अन्य… -> एंड्रॉइड-> लॉगकाट

के लिए संदर्भLog पर एक नजर है ।

LogCat का उपयोग करने के लाभ यह है कि आप अपने लॉग प्रकार के आधार पर विभिन्न रंगों को प्रिंट कर सकते हैं, जैसे: Log.dनीले रंग को Log.eप्रिंट करता है , नारंगी को प्रिंट करता है। इसके अलावा, आप लॉग टैग , लॉग संदेश , प्रक्रिया आईडी और / या आवेदन नाम से फ़िल्टर कर सकते हैं । यह वास्तव में उपयोगी है जब आप बस अपने ऐप के लॉग देखना चाहते हैं और अन्य सिस्टम सामान को अलग रखना चाहते हैं।


3
मेरे, मेरे, यह कितना सरल हो सकता है .... ये छोटे tidbits उन लोगों की मदद करते हैं जो इन प्लेटफार्मों के लिए नए हैं। धन्यवाद m6tt! FYI करें: यहाँ एक फ़िल्टर विकल्प है जो बहुत मदद करता है ~
ऋषि

48
Log.v("blah", "blah blah");

उन्हें देखने के लिए आपको ग्रहण में Android लॉग दृश्य जोड़ना होगा। संदेश की गंभीरता (त्रुटि, क्रिया, चेतावनी, आदि) के आधार पर अन्य विधियां भी हैं।


2
+1 पुस्तकालय में ऐसा करने के बारे में कैसे? मैंने कोशिश की है, लेकिन यह logcat पर कुछ भी नहीं दिखाता है।
रॉय ली

29

System.out.println()LogCat को भी आउटपुट देता है। अच्छे पुराने का उपयोग करने का लाभ यह System.out.println()है कि आप किसी वस्तु को प्रिंट कर सकते हैंSystem.out.println(object) कंसोल यदि आपको यह जांचने की आवश्यकता है कि कोई चर आरंभीकृत है या नहीं।

Log.d, Log.v, Log.wआदि तरीकों केवल आप कंसोल के लिए तार प्रिंट करने की अनुमति और वस्तुओं नहीं। इसे दरकिनार करने के लिए (यदि आप चाहें), तो आपको इसका उपयोग करना चाहिए String.format


3
या, वस्तु उदाहरणों के लिए, आप हमेशा उपयोग कर सकते हैं toString()। यह वही है जो System.out.println(Object)आंतरिक रूप से करता है। यदि स्वयं की toString()विधि का Objectउपयोग किया जाता है (उदाहरण के लिए सरणी प्रकार) तो आपको उपयोगी आउटपुट नहीं मिल सकता है।
मार्टन बॉड्यूज 22

मुझे टाइपिंग बचाता है। मैं हमेशा प्यार करता हूं जब ऑब्जेक्ट खुद का ख्याल रखते हैं। ; )
तीर्थ

यह ऑब्जेक्ट को डंप नहीं करता है, यह उसी तरह प्रिंट करता है Log
फ्रांसिस्को कॉर्लेस मोरालेस

..और यह अभी भी मुझे Log.whatever के लिए एक स्ट्रिंग स्थिरांक के निर्माण से बचाता है, और इसे हर बार टाइप करने पर मुझे कंसोल में कुछ चाहिए, और स्ट्रिंग को ऑब्जेक्ट को स्वरूपित करता है।
तीर्थ

1
यदि आपकी वस्तु अशक्त है, तो स्ट्रेसिंग () स्पष्ट रूप से एक एनपीई फेंक देगा। आपको लॉग स्टेटमेंट में ऑब्जेक्ट पर कभी भी toString () कॉल नहीं करना चाहिए, बल्कि एक लॉगिंग लाइब्रेरी का उपयोग करना चाहिए, यदि आप किसी ऑब्जेक्ट में पास होते हैं तो ये चेक करेंगे।
थॉमस एजिंजर

15

मैं Log.d विधि का उपयोग भी आयात कृपया import android.util.Log;

Log.d("TAG", "Message");

लेकिन कृपया ध्यान रखें कि, जब आप डिबग संदेशों को देखना चाहते हैं, तो रन अस का उपयोग न करें बल्कि "डीबग अस" का उपयोग करें, फिर एंड्रॉइड एप्लिकेशन का चयन करें। अन्यथा आप डिबग संदेश नहीं देखेंगे।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.