एंड्रॉइड स्टूडियो में लॉगकट को कैसे फ़िल्टर करें?


96

मेरे logcat में बहुत अधिक आउटपुट है, इसलिए मैं कुछ कीवर्ड का उपयोग करके इसे फ़िल्टर करना चाहूंगा, मूल रूप से केवल कीवर्ड (एस) वाले आउटपुट को प्रदर्शित करना। क्या UI के माध्यम से Android स्टूडियो में ऐसा करने का कोई तरीका है?



नहीं, मैं पूछ रहा हूं कि कीवर्ड द्वारा संदेशों को कैसे फ़िल्टर किया जाए।
एलेसेंड्रो रूरो

एंड्रॉइड स्टूडियो वर्जन 0.4.5 के अनुसार आपको उस ऐप से संदेश मिलेंगे जो केवल चल रहा है। Log cat has a new option (on by default) which creates an application filter automatically such that only the launched application's output is shown
dmSherazi

जवाबों:


107

ऐसा करने के दो तरीके हैं, दोनों IDE के निचले भाग में एंड्रॉइड टैब में हैं (जहां लॉगकैट आउटपुट प्रदर्शित होता है)।

सबसे पहले, आप बस शीर्ष पर खोज बॉक्स में कुछ टाइप कर सकते हैं और यह केवल आपके द्वारा लिखे गए पाठ वाले संदेशों को फ़िल्टर करना चाहिए।

दूसरा, आप शीर्ष दाईं ओर ड्रॉपडाउन पर क्लिक करके उन्नत फ़िल्टरिंग कर सकते हैं, जिसे डिफ़ॉल्ट रूप से नो फिल्टर्स प्रदर्शित करना चाहिए , Edit Filter Configurationऔर यह निर्दिष्ट करना चाहिए कि क्या फ़िल्टर करना है। इस पद्धति का उपयोग करके आप फ़िल्टर को भी सहेजते हैं और ड्रॉपडाउन में उन्हें चुनकर उनका पुनः उपयोग कर सकते हैं।

स्क्रीनशॉट:
खोज और फ़िल्टर लॉगकैट


1
आपको जवाब के लिए धन्यवाद। मैंने पहले ही पहले ही प्रयास कर लिया था, लेकिन यह गैर-प्रासंगिक आउटपुट को फ़िल्टर नहीं करता है। पुन: दूसरा विकल्प, दुर्भाग्य से मैं ड्रॉपडाउन मेनू नहीं देख सकता, आप किस संस्करण का उपयोग कर रहे हैं?
एलेसेंड्रो रूरो

1
मैं v0.3.5 का उपयोग कर रहा हूं ... जवाब में इसका एक स्क्रीनशॉट जोड़ा।
free3dom

1
मैंने सिर्फ स्क्रीनशॉट करते समय इस पर ध्यान दिया, फ़िल्टर करने का एक और तरीका है। पर बाईं ओर (सही टैब के बगल में) हरी तीर के साथ एक प्रतीक है - / बंद सूची में :) चयनित प्रक्रिया से केवल logcat प्रदर्शित करने के लिए यह टॉगल किया जा सकता
free3dom

धन्यवाद, मेरे पास मेरे संस्करण (0.3.2) में उन फिल्टर नहीं थे
एलेसेंड्रो रूरो

कोई दिक्कत नहीं है! मुझे लगता है कि इसे v0.3.3 / 4 में जोड़ा गया था। Android स्टूडियो प्रत्येक संस्करण के साथ बेहतर हो रहा है :)
free3dom

81

जो मैं करता हूं वह एक पंक्ति पर राइट क्लिक है जो मुझे पसंद नहीं है और "इस तरह लाइनों को मोड़ो" का चयन करेंयहां छवि विवरण दर्ज करें


9
वाह महान!! काश मुझे यह पहले पता होता!
miva2

7
इसका उत्तर होना चाहिए।
खुशी हुई

2
केवल यह एंड्रॉइड स्टूडियो लॉगकैट पर जीनोमिशन द्वारा मेरी बाढ़ को हल करता है, धन्यवाद।
फ्लोरिडा

3
हैरान मैं इससे पहले कभी नहीं देखा। अच्छा खोजो!
dm78

1
ठीक है, यह मिला: -D (पाठ के साथ हरे रंग की प्रविष्टि पर बस डबल क्लिक करें: "n आंतरिक कॉल")
Aydin K.

53

जैसा कि @ free3dom ने कहा कि आप उस प्रक्रिया का चयन कर सकते हैं जिससे आप लॉगकाट्स प्राप्त करना चाहते हैं। यहाँ स्क्रीनशॉट है।

स्क्रीन शॉट


2
इसे जोड़ने के लिए धन्यवाद। यह सबके लिए यहाँ होना अच्छा है और मैंने केवल टिप्पणियों में इसका उल्लेख किया है :)
free3dom

39
अच्छा ग्राफिक्स भी ;-)
जेरार्ड

1
एंड्रॉइड स्टूडियो वर्जन 0.4.5 यू से केवल उस ऐप से संदेश मिलेगा जो केवल चल रहा है। Log cat has a new option (on by default) which creates an application filter automatically such that only the launched application's output is shown
dmSherazi

1
+1 के लिए +1 'चयनित प्रक्रिया से केवल शो लॉग' पर इसे दबाएं
लूजॉप

मेरे पास एक और समस्या है, जब मैं फ़िल्टर कॉन्फ़िगरेशन से फ़िल्टर लागू करता हूं, एक विशेष पैकेज के लिए, लॉगकैट रिक्त हो जाता है।
भूपेश

17

मैं आपको एक वीडियो दिखाने के लिए कहता हूं कि आप कैसे = https://youtu.be/xw2qE5ko_9I

अपने लॉग को एक नाम दें। मुझे मेरा "वावा" कहा जाता है।

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

एंड्रॉइड स्टूडियो में, एंड्रॉइड पर जाएं-> फ़िल्टर कॉन्फ़िगरेशन संपादित करें

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

फिर उस नाम पर टाइप करें, जिसमें आपने लॉग दिए हैं। मेरे मामले में, इसे "वावा" कहा जाता है। यहां कुछ प्रकार के फ़िल्टर दिए गए हैं जो आप कर सकते हैं। आप System.out, System.err, Logs या पैकेज नामों से फ़िल्टर कर सकते हैं:

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


2
वहाँ एक regex यह नकारात्मक है, एक पंक्ति में लॉग को छुपाने के लिए?
ह्यूगो एम। ज़ुलेटा

मेरी जानकारी में नहीं। यदि आप रेगेक्स का उपयोग करना चाहते हैं, तो मुझे लगता है कि सबसे अच्छा तरीका एंड्रॉइड ओएस में adb है और बैश टर्मिनल पर Grep का उपयोग करना है।
जीन

^ (? क्रोमियम) (? वेबव्यूफैक्टरी) (? zygote) .... जैसे आप चाहते हैं, जैसे टैग जोड़ना चाहते हैं (?! TAG_NAME)। यदि आप एक टैग के लिए regex का उपयोग करना चाहते हैं, जैसे। आप "asd" से शुरू होने वाले सभी टैग को छुपाना चाहते हैं, फिर आप टैग की इस "सूची" में (? (asd) जोड़ें।
ड्रूसेंटिया

11

सबसे पहले अपने TAG नामों को अपने कोड में घोषित करें जैसे

private static final String TAG = "MainTagName";

फिर लॉग स्टेटमेंट जोड़ें जहां आप कुछ आउटपुट करना चाहते हैं

Log.d(TAG, "Activity created");

दूसरी पोस्ट में free3dom के अनुसार, logcat टैब पर फ़िल्टर ड्रॉपडाउन पर क्लिक करें और फिर फ़िल्टर कॉन्फ़िगरेशन संपादित करें।

इस उदाहरण में हम लॉग टैग (regex) विकल्प का उपयोग करके पाइप के माध्यम से तीन मिलान टैग नामों में से किसी एक के लिए लॉग संदेश प्रदर्शित करते हैं। विभाजक (रिक्त स्थान के बिना):

MainTagName|SomeTagName|SomeOtherTagName

2
उपयोग करते समय मुझे कोई लॉगकैट आउटपुट नहीं मिलता है | दो टैग (एंड्रॉइड स्टूडियो 1.2) को अलग करने के लिए
किसी

2
@SomeoneSomewhere सुनिश्चित करें कि लॉग विवरण में आपका TAG का नाम पहले पैरामीटर से मेल खाता है। सुनिश्चित करें कि टैग नाम और पाइप के बीच कोई रिक्त स्थान नहीं हैं जैसे कि tag1 | tag2। सुनिश्चित करें कि आप वास्तव में अपने कोड को डीबग करके टैग कमांड को हिट कर रहे हैं। अपने लॉग स्तर की जाँच करें डिबग विंडो में लॉग स्तर ड्रॉप डाउन में डीबग या वर्बोज़ पर सेट है।
HostMyBus

2
मैंने हर तरह के कॉम्बिनेशन की कोशिश की। मेरा विफल रहा क्योंकि मेरे पास रिक्त स्थान और फिल्टर था जैसे "Tag1 | Tag2"। यह उत्तर मिला और रिक्त स्थान निकाले और यह पूरी तरह से काम करता है। धन्यवाद!
मूलांक

5

मुझे Logcat में फिल्टर चालू करने में परेशानी हुई। एंड्रॉइड स्टूडियो 3.2 में फ़िल्टर देखने के लिए, आपको फ़िल्टर को फिर से प्रकट करने के लिए 'फ़्लोटिंग मोड' को चालू और बंद करना होगा।

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


3

एक विकल्प जो मेरे लिए काम करता Show only selected applicationहै वह है फिल्टर मेनू में विकल्प का चयन करना :

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


"फायरबेस" विकल्प आने पर कोई विचार? मैंने आज पहली बार इसे देखा (एक उम्र बिताने के बाद सोच रहा था कि मेरा ऐप अब लॉग इन क्यों नहीं कर रहा)।
रिचर्ड ले मेसुरियर

मुझे पता नहीं था कि यह वहाँ भी था।
ओजोनुगवा जूड ओचलिफु

1
न तो मैंने, लेकिन मैंने इसे (बिना जाने) चुना था और इससे बहुत समय बर्बाद हुआ। वैसे भी
रिचर्ड ले मेसियर

2

मुझे नहीं पता कि अन्य उत्तर में चित्र पुराने हैं या यदि मैं कुछ याद कर रहा था, लेकिन यहाँ एक अद्यतन छवि है।

क्लिक करें एंड्रॉयड मॉनिटर तल पर टैब और सुनिश्चित करें कि logcat टैब का चयन किया गया है। फिर जो भी आप अपने आउटपुट को फ़िल्टर करना चाहते हैं उसमें टाइप करें। मैंने अपने टैग नाम के साथ मुझे फ़िल्टर किया TAG

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


2

बस अपनी गलती जोड़ने के लिए:

सुनिश्चित करें कि जब आप एमुलेटर और एक वास्तविक डिवाइस का उपयोग कर रहे हैं, तो डिवाइस पर स्विच करने के लिए आप लॉगकैट टैब के ऊपर बाईं ओर ड्रॉपडाउन में डिबगिंग कर रहे हैं।


1

इसे देखें https://medium.com/zinuzoid/if-you-developing-android-application-1bdff0996205

बस LogCat को "LogTag" स्ट्रिंग के नीचे एक इंसर्ट फ़िल्टर बनाएँ, जो तब सिस्टम लाइनों को अनदेखा करेगा

^(?!.*(BtGatt|dalvik|Environment|DataRouter|FA|art|Wifi|ServiceManager|Atfwd|tnet|MDnsDS|Download|Bluetooth|slim|QSEECOMAPI|WVCdm|QC-time|sensors|nanohub|Drm|Babel|Dropbox|gsamlab|Cryptd|Vold|QC_|Conscrypt|Dns|sound|NetWork|OpenGL|TLog|GMPM|Microphone|Process|Dynamite|cr_|VideoCapabilities|libEGL))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.