लॉगकैट मेरे लॉग कॉल प्रदर्शित नहीं कर रहा है


114

मैं एंड्रॉइड प्रोग्रामिंग में कुल नॉब हूं, और अपने ऐप्स को डीबग करना सीखना चाहता था। मुझे लगता है कि LogCat में मेरे Log.i | d | v कॉल प्रदर्शित नहीं हो सकते हैं।

यहां वह कोड है जो मैं उपयोग कर रहा हूं। जैसा कि आप देख सकते हैं कि मैंने एक LOG_TAG को परिभाषित किया है, लेकिन यह LogCat में नहीं मिल रहा है। मैंने android.util को भी आयात किया है। मैंने और यह सुनिश्चित कर लिया है कि मेरे AndroidManifest में मैंने TRUE पर "डीबगेबल" सेट किया है।

मैंने इस मुद्दे को हल करने के लिए http://developer.android.com/reference/android/util/Log.html w / o की भी जाँच की है ।

मैं क्या गलत कर रहा हूं? क्या मैं भी सही जगह देख रहा हूँ? मैंने डीडीएमएस और डीबग परिप्रेक्ष्य का उपयोग करने की कोशिश की है, साथ ही साथ किसी भी भाग्य को ओ / ओ। इस noob को किसी भी मदद की बहुत सराहना की जाएगी। धन्यवाद।

मेरा वातावरण: Windows XP IDE = ग्रहण संस्करण: 3.6.1, बिल्ड आईडी: M20100909-0800 एमुलेटर = यह android sdk 2.1 एपी 7 की ओर इशारा करता है

// Log.i कॉल के एक जोड़े के साथ बहुत ही बुनियादी हेलो वर्ल्ड कोड

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class debugger extends Activity {
    private static final String LOG_TAG = "debugger";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(LOG_TAG, "line 13");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(LOG_TAG, "CREATING NOW");
    }
}

ऐसा नहीं लगता है कि आप कुछ भी गलत कर रहे हैं, क्या आप सुनिश्चित हैं कि आपकी गतिविधि शुरू हो रही है? क्या आपके पास लॉगकैट दृश्य में कोई फ़िल्टर सेट है? क्या आपने logcat का कमांड लाइन संस्करण आज़माया है? (adb logcat)
चेरिल साइमन

हाँ, कमांड लाइन की कोशिश की और एक txt फ़ाइल में आउटपुट की गई और फिर भी उसे खोजा नहीं जा सका। मुझे पता है कि गतिविधि शुरू हुई क्योंकि मैं एमुलेटर में "हैलो वर्ल्ड" संदेश देखता हूं। मैंने लॉगकैट को फ़िल्टर किए बिना और फिर भी बिना किसी भाग्य के देखने का प्रयास किया।
कैवाचोन

कमांड लाइन adb logcat को आज़माएं और पहले कुछ भी फ़िल्टर न करें। मुझे पूरा यकीन है कि आपका कोड लॉग में काम कर रहा है और छपाई कर रहा है।
हीकी टिवोनेन

क्या LogCat बिल्कुल काम करता है? उदाहरण के लिए क्या आप किसी अन्य एप्लिकेशन (उदाहरण के लिए सिस्टम ऐप) से लॉग एंट्री देखते हैं?
विट खूदेंको

यह उपकरण विशिष्ट हो सकता है। हमें कभी-कभी फोन छिपा मेनू से लॉग इन करने की आवश्यकता है stackoverflow.com/a/43999262/2783229
nitesh

जवाबों:


143

डीडीएमएस परिप्रेक्ष्य में, ग्रहण का उपयोग करते समय, सुनिश्चित करें कि सही डिवाइस (संभवतः एमुलेटर-एक्सएक्सएक्स) का चयन और हाइलाइट किया गया है। तभी आपको logcat view में logcat output मिलेगा।

इसके अलावा, एंड्रॉइड प्लगइन थोड़ा विचित्र है, और कभी-कभी केवल लॉगकट दृश्य में अंतिम पंक्ति दिखाता है। यदि ऐसा होता है, तो लॉग को खाली करने का प्रयास करें। उसके बाद, आपको सभी लॉग प्रविष्टियों को फिर से प्राप्त करना चाहिए (वैसे भी मेरे लिए काम करता है)।


हां, मेरे पास सभी मुद्दे हैं। यदि आप लॉगकैट दृश्य के भीतर स्क्रॉल करते हैं तो यह भविष्य के अपडेट के साथ स्वचालित रूप से स्क्रॉल नहीं करेगा, जब तक आप नीचे स्क्रॉल नहीं करते।
माइक योकी

2
हा! मैं कुछ समय के लिए इससे लड़ रहा था। डीडीएमएस खोला और मेरे पास एक पुराना एमुलेटर चयनित था। यह वर्तमान में चल रहे एमुलेटर पर डिफ़ॉल्ट क्यों नहीं है यह अजीब है।
विल कर्णन

ddewaele के जवाब से मेरी समस्या हल हो गई, आपको बस LogCat को जाने देना चाहिए जहां उसका ध्यान केंद्रित होना चाहिए। एक साइड नोट के रूप में आपको उपकरणों के मेन्यू को लाने के लिए परिप्रेक्ष्य को बदलने की ज़रूरत नहीं है। बस जाएँ विंडो >> शो व्यू >> अन्य >> एंड्रॉइड >> डिवाइसेस को डिवाइस पैनल लाने के लिए
Jay

@ मेरा मानना ​​है कि यह जानबूझकर है क्योंकि आप जिस बिंदु पर स्क्रॉल करना चाहते हैं उसे रोकना और पढ़ना चाहते हैं।
माइकल मिऑर

1
हाहाहा मैं बहुत बेवकूफ हूं मुझे नहीं पता कि डीडीएमएस क्या है और यहां तक ​​कि इसे कहां खोजना है।
नियॉन वारगे ने

71

यदि सभी अन्य विफल होते हैं:

मैंने उपरोक्त सभी चीजें कीं और यह पता नहीं लगा सका कि क्या गलत था,

इसके साथ टेस्ट करें:

adb logcat

यह पता लगाने के लिए कि मेरी प्रविष्टियाँ लॉगकैट में निष्क्रिय थीं, लेकिन ट्वास एड्ट के क्वार्क्स।

ठीक कर:

ग्रहण को पुनः आरंभ करें

यह केवल एक चीज थी जिसने इसे तय किया।


1
यह काम करता है, लेकिन मैं ग्रहण को फिर से शुरू नहीं कर सकता क्योंकि यह मुद्दा मेरे लिए बहुत कुछ होता है। क्या किसी के पास बेहतर उपाय है?
खालिद अलनेज़ी

@KhaledAlanezi को कमांड प्रॉम्प्ट या विंडोज़ के पॉवरशेल (बेहतर) से लॉगकाट का उपयोग करने पर विचार करना चाहिए।
धीरज भास्कर

1
मैं बस हर बार ऐसा होता है और यह हमेशा समस्या को हल करता है। यह आम तौर पर एक दिन में एक बार होता है, लेकिन मुझे पहले से ही ग्रहण से निराश होने की आदत है ..
प्रोग्रामर

2
@programmer ग्रहण से निराश न हों, Android Studio में जाएं, मेरे दोस्त :)
धीरज भास्कर

1
मेरे लिए एक दूरस्थ मशीन पर एक एमुलेटर का उपयोग करके ग्रहण को फिर से शुरू करना काम नहीं करता है लॉगकैट कभी भी कुछ भी नहीं दिखाता है, लेकिन adb logcatएक अच्छा टिप है, यह इतना ऊपर काम करता है।
soger

12

मुझे एंड्रॉइड स्टूडियो का उपयोग करने में एक ही समस्या आई है और No Filtersलॉगकैट के शीर्ष दाएं कोने में चयन बॉक्स में चयन करके प्राप्त करने में कामयाब रहा । ऐसा करने से मुझे अपने लापता लॉग कॉल्स सहित LogCat की पृष्ठभूमि में सब कुछ एंड्रॉइड लॉग मिलना शुरू हो गया।

यहां छवि विवरण दर्ज करें


9

पुनः आरंभ ग्रहण और चेक लॉग बिल्ली प्रदर्शित की जाएगी।


6

मुझे लगा कि मैं android.util.og के बजाय स्वचालित रूप से com.sileria.Log (कुछ लाइब्रेरी प्रोजेक्ट से) आयात कर रहा था , जहां बाद वाला सही था। अपने आयात की भी जाँच करें।


3

मैंने देखा है कि एंड्रॉइड ऐप शुरू करने पर एक्लिप्स कभी-कभी एक अपवाद को फेंक देगा, फिर लॉगकैट अपडेट करना बंद कर देता है। मैंने सही किया है कि केवल ग्रहण को पुनः आरंभ करके। मुझे यकीन नहीं है कि अगर आपने कोशिश की है और मुझे पता है कि यह एक इष्टतम समाधान से दूर है, लेकिन मुझे संदेह है कि एक्लिप्स प्लगइन में अभी भी कुछ कीड़े हैं जो लोहे से बाहर हैं।


3

सबसे आसान उपाय:

अपने logcat विंडो में चेक करें - टॉप राइट कॉर्नर PAUSE बटन || (नए लॉगसीट संदेश प्राप्त करना रोकें)

कुछ क्लिक + अंत में ग्रहण को पुनः आरंभ करते हैं (आमतौर पर मेरे मामले में काम करता है)


3

मुझे कमांड के साथ adb सेवा को पुनरारंभ करने की आवश्यकता है adb usb

इससे पहले मैं सभी लॉगिंग कर रहा था और डीबग करने में सक्षम था, लेकिन मेरी अपनी लॉग लाइन्स नहीं मिल रही थी (हां, मुझे सिस्टम लॉगिंग अपने एप्लिकेशन से जुड़ी हुई मिल रही थी)।


मेरे पास यह भी है - खुद की लॉग लाइनें नहीं। लेकिन इससे मदद नहीं मिली :(
Ixx

2

कई कारण हैं कि आप लॉग नहीं देख सकते हैं, जिनमें से अधिकांश नीचे सूचीबद्ध हैं। अधिकांश कारणों की जांच करने के लिए यहां कुछ चरण दिए गए हैं:

  1. सुनिश्चित करें कि आपके AndroidManifest.xml में 'android: debuggable = "false" नहीं है
  2. सुनिश्चित करें कि आपका लॉगकाट रोका नहीं गया है और सुनिश्चित करें कि आप नीचे तक स्क्रॉल किए गए हैं
  3. आपके फ़िल्टर या तो 'नो फिल्टर' या आपके वर्तमान ऐप होने चाहिए
  4. आपके पास अपने डिवाइस उपकरणों की सूची में सही उपकरण है
  5. यदि आपको कोई संदेश नहीं मिल रहा है , तो adb को पुनः आरंभ करने का प्रयास करें। आप एंड्रॉइड स्टूडियो से 'रिस्टार्ट' आइकन पर क्लिक करके कर सकते हैं, यह लॉगकैट के लिए प्रिंट आइकन के ठीक बाद है और यह हरे रंग के घुमावदार तीर की तरह दिखता है। यदि आप इसे नहीं देखते हैं, तो लॉग >> बहुत छोटा होने पर आइकन मेनू जारी रखने वाले '>>' पर माउस ले जाएं।

2

एंड्रॉइड स्टूडियो पर: लॉगिंग को पुनरारंभ करने के अधिकार की ओर इशारा करते हुए हरे तीर पर क्लिक करें; यदि यह दिखाई नहीं देता है, तो इसे खोजने के लिए >> आइकन पर क्लिक करें।


1

मैं एंड्रॉइड-एक्लिप्स के साथ-साथ एक न्यूब हूं। यहां मुझे ग्रहण में प्रदर्शित करने के लिए लॉगकैट संदेश प्राप्त करने के लिए क्या किया गया है: 1: इसे उस वर्ग में जोड़ें जिसमें लॉगकोट संदेश कहा जाता है: निजी स्थिर अंतिम स्ट्रिंग TAG = "MyActivity"; ( यहाँ प्रलेखन के अनुसार )

2: इस Log.i (TAG, "inLayout - समाप्त") को जोड़ें; जब आप एक संदेश प्रदर्शित करना चाहते हैं

यदि ऊपर काम नहीं करता है, तो ग्रहण को बंद करें और इसे पुनः आरंभ करें और अपनी परियोजना को फिर से चलाएँ।

इसके बाद काम करना चाहिए।


1

देखने के लिए एक और चीज है:

लॉगकैट के ऊपरी दाईं ओर संदेशों को फ़िल्टर करने के लिए ड्रॉपडाउन तालिका है । सुनिश्चित करें कि यह उस स्तर पर है जिसे आप खोज रहे हैं (यदि यह मुखर स्तर पर होगा, तो यह संभवतः आपके लॉगकैट को खाली छोड़ देगा)।


1

कृपया टास्क मैनेजर में जाएं और adb.exe प्रक्रिया को मारें। अपने ग्रहण को फिर से शुरू करें।

या

कोशिश एडीबी मार-सर्वर और उसके बाद एशियाई विकास बैंक शुरू सर्वर आदेश।


1

संभवतः यह सही नहीं है, और थोड़ा लंबा है, लेकिन मैंने इसका उपयोग करके इस समस्या को हल किया है (Android Studio):

System.out.println("Some text here");

ऐशे ही:

try {
       ...code here...
} catch(Exception e) {
  System.out.println("Error desc: " + e.getMessage());
}

1

मैंने ऐसे मामले पर कई घंटे बिताए। मैंने केवल स्पर्श कुंजी लॉग देखा। और कुछ नहीं। समस्या थी ... स्मार्तफोन। पुनः आरंभ करने के बाद ठीक था। डिस्कनेक्टिंग केबल के कारण समस्या वापस आ गई। फिर से शुरू करना पड़ा। ऐसा लगता है कि Android USB संचार अच्छी तरह से डिज़ाइन नहीं किया गया है।


धन्यवाद! दरअसल, यह यूएसबी डिबगिंग के संबंध में फोन के त्वरित मेनू पर यूएसबी सेटिंग थी। मुझे चार्जिंग ओनली से ट्रांसफर फाइल्स में बदलने की आदत पड़ गई थी। लेकिन, केवल चार्ज करना ही लॉगिंग का काम है। मैं अभी कुछ वर्षों के बाद एंड्रॉइड प्रोग्रामिंग पर वापस जा रहा हूं, और, यह वास्तव में मेरे सीखने की अवस्था को कम कर रहा था।
wwfloyd

फिर, मैं केवल कुछ लॉगिंग प्राप्त कर रहा था ... हाल ही में जोड़ा गया सब कुछ नजरअंदाज कर दिया गया था। Android Studio में क्लीन एंड रेरन के साथ सॉर्ट किया गया।
wwfloyd


0

SDK 4.0.3 का उपयोग करते हुए आपको डिबग कॉन्फिगरेशन> प्रोजेक्ट> टारगेट पर इसे स्पष्ट रूप से सिलेक्ट करना होगा अन्यथा यह कभी भी ग्रहण इंडिगो (3.7) का उपयोग करके नहीं दिखाएगा। बेशक एक ग्रहण फिर से शुरू होता है।


0

मुझे लॉगकोट में भी सरल लॉग आउटपुट देखने में समस्या थी। जब मैंने नवीनतम JDK स्थापित किया तो मेरी समस्या हल हो गई। मैंने सिर्फ एक नई विकास मशीन स्थापित की है और केवल JRE स्थापित किया है और JDK को स्थापित करने से मेरे लिए काम किया है।


0

अन्य किसी भी उत्तर ने मेरे लिए काम नहीं किया, लेकिन यह किया:

मैंने अपने प्रोजेक्ट को अपने कार्यक्षेत्र से हटा दिया, फिर प्रोजेक्ट फ़ोल्डर से एक डॉट (.settings, .project, आदि) के साथ शुरू होने वाली किसी भी चीज़ को हटा दिया। फिर मैंने अनुमानित प्रोजेक्ट को फिर से आयात किया। मुझे कुछ सेटिंग्स और ब्रेकप्वाइंट याद आ रहे हैं, लेकिन कम से कम यह काम करता है।


0

मैं इस समस्या का सामना कर रहा था और कुछ भी काम नहीं कर रहा था जब तक कि मैंने लॉग कॉल को एक हैंडलर में स्थानांतरित नहीं किया। अब यह हर बार काम करता है, चाहे आप कहीं भी हों।


0

मैंने logcat खोज बॉक्स में खोज शब्द में टाइपिंग की गलती की। मैं इसे हटाना भूल गया और इसलिए नए लॉग नहीं देख सका। चूंकि वे मेरे खोज शब्द से मेल नहीं खाते थे और प्रदर्शित नहीं हुए थे।


0

मेरे मामले में, मुझे इस लाइन को हटाना पड़ा:

    <application
         android:debuggable="false"  <!-- Remove this line -->
         ..../>

मेरी मेनिफेस्ट फ़ाइल में एप्लिकेशन टैग से।


0

मेरे लिए सबसे अच्छा समाधान फिर से शुरू किया गया एडीबी सर्वर था (जबकि मेरे पास एंड्रॉइड स्टूडियो में सक्षम एडीबी एकीकरण है - टूल - एंड्रॉइड - चेक किया गया)। इसे जल्दी से करने के लिए मैंने निर्देशिका (जहाँ यह स्थित है) के adbr.batअंदर फ़ाइल बनाई है:android-sdk\platform-toolsadb.exe

adb kill-server
adb start-server

क्योंकि मेरे पास PATH सिस्टम वैरिएबल में यह फ़ोल्डर है, हमेशा जब मुझे adbएंड्रॉइड स्टूडियो से पुनरारंभ की आवश्यकता होती है, तो मैं केवल टर्मिनल में लिख सकता हूं adbrऔर यह किया जाता है।

ऐसा करने का एक अन्य विकल्प डिवाइस टैब में एंड्रॉइड डिवाइस मॉनिटर के माध्यम से है - मेनू पर क्लिक करने के बाद छोटे तीर दाएं - रीसेट एडीबी


0

ग्रहण के लिए: 1) ddms के परिप्रेक्ष्य में जाएं। 2) सुनिश्चित करें कि सही डिवाइस का चयन किया गया है। 3) यदि पहले से ही चयनित और लॉग प्रदर्शित नहीं कर रहे हैं, तो ABD को पुनरारंभ करें। * उम्मीद है कि यह हल हो जाएगा।


0

मैंने ADB सेवा को "adb usb" के साथ फिर से शुरू किया और मेरे लिए समस्या को ठीक किया। वास्तव में, मेरी केवल एक गतिविधि अब लॉग नहीं हुई। अन्य सभी लोगों ने सामान जमा किया। पुनः आरंभ करने के बाद सब कुछ फिर से एक आकर्षण की तरह काम करता है। अन्य लोगों के लिए जो किसी अन्य समाधान की खोज कर रहे हैं: एडीबी किल-सर्वर, सीएलआई में एडीबी स्टार्ट-सर्वर अक्सर आपकी समस्या को ठीक कर देगा।


0

एक बार फिर से LogCat शुरू कर देंगे अपने एप्लिकेशन बल को बंद करें ...

बल प्रयोग के लिए यह करीब: डी

setContentView(BIND_AUTO_CREATE);

0

कुछ समय समस्या दूसरी ओर आईडीई, एडीबी आदि पर पीसी से नहीं होती है , लेकिन यह आपके डिवाइस से उत्पन्न होती है जो एडीबी में लॉग नहीं भेजती है इसलिए यदि आपने पहले बताए गए सभी तरीकों की कोशिश की और अभी भी आपका लॉगकैट खाली है तो अपने को पुनः आरंभ करने का प्रयास करें। डिवाइस और फिर से कोशिश करें। मैंने ऊपर बताए गए सभी तरीकों की कोशिश की और उनमें से किसी ने भी काम नहीं किया, लेकिन मेरे फोन पर पुनरारंभ होने के बाद लॉगकैट जादू की तरह काम किया


डिवाइस एडीबी में लॉग भेजने में सक्षम है या नहीं, इसकी जांच कैसे करें?
JCarlosR

@Jarlos अपने डिवाइस को फिर से शुरू करने का प्रयास करें यदि उपरोक्त में से कोई भी समाधान काम नहीं करता है
Code_Worm

AndroidMonitor उन संदेशों को दिखाता है जब मैं Logअपने स्मार्टफोन से ऐप का उपयोग करता हूं और चलाता हूं, लेकिन यह मेरी स्मार्टवॉच से काम नहीं कर रहा है। मैं सेटिंग्स देख रहा था, लेकिन सब अच्छा लग रहा है।
JCarlosR

0

मेरे पास यह समस्याएँ हैं और निश्चित हैं, स्ट्रिंग TAG बिना स्थान:

"मेरा टैग" // नोटिंग शो
"my_tag" // ठीक है


0

मेरे मामले में मुझे सिर्फ स्ट्रिंग में एक नाम जोड़ना था। प्रथम दृष्टया मुझे सिर्फ कोष्ठक के बीच में जगह मिली

private static final String TAG = " ";

लेकिन नाम जोड़ने के बाद इसने पूरी तरह से काम किया।

private static final String TAG = "oncreate";

0

एंड्रॉइड 3.6.1 में अपग्रेड करने के बाद, मैंने इस मुद्दे को कई बार अनुभव किया है। केवल एक चीज जो मेरे मामले में काम करती है वह है RESTARTING THE DEVICE।

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