Tagname द्वारा logcat में फ़िल्टर आउटपुट


151

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

वास्तविक उत्पादन

जवाबों:


294

इसे इस्तेमाल करो:

adb logcat -s "TAGNAME"

7
धन्यवाद! S 'टैगनाम': ऊपर adb logcat * के बराबर है
मंच

3
मैं एक <tagname> को कैसे फ़िल्टर कर सकता हूं?
अरुणाभ दास

मेरा मानना ​​है कि स्तरों को छानने का एकमात्र तरीका है। उदाहरण के लिए, यदि कोई ऐप डिबग को स्पैम कर रहा है, तो लॉगकैट स्तर को केवल जानकारी और उच्च स्तर दिखाने के लिए सेट करें: logcat *: I
कोई कहीं पर

1
क्या -f फ़ाइल नाम के साथ ऊपर का उपयोग करना संभव है? कहते हैं, मेरा परिदृश्य टैगनाम द्वारा लॉग को फ़िल्टर करने और एक पाठ फ़ाइल में डंप करने के लिए है।
ग्रीन भूतल

9
दास - "adb logcat TAGNAME: s" एक शोर टैग है।
डॉन पार्क

56

यदि कोई इस तरह से ठोकर खाता है जैसे मैंने किया, तो आप बीच में अल्पविराम जोड़कर कई टैग्स को फ़िल्टर कर सकते हैं, जैसे:

adb logcat -s "browser","webkit"

समझाएं कि मुझे यह कोड कहां रखना चाहिए। मैं एक नई मधुमक्खी हूं। कृपया बताएं
ज़ार ई अहमर

1
@Nepster टर्मिनल में टाइप करें।
async

यदि आप खिड़कियों पर साइबरविन का उपयोग करते हैं, तो आप grep का उपयोग कर सकते हैं ... और हां, यह काम करता है।
शगुफ्ता

12

एक अन्य विकल्प विशिष्ट टैग के लिए लॉग स्तर सेट कर रहा है:

adb logcat SensorService: S PowerManagerService: S NfcService: S पॉवर: I सेंसर: E

यदि आप कुछ टैग के लिए लॉग स्तर सेट करना चाहते हैं, तो आप इसे टैग के आधार पर टैग पर कर सकते हैं।


9

ADB शेल पर निर्भर न रहें, बस इसे (adb logcat) एक सामान्य लिनक्स आउटपुट मानें और फिर इसे पाइप करें:

$ adb shell logcat | grep YouTag
# just like: 
$ ps -ef | grep your_proc 

5
यह एक बुरा विकल्प है क्योंकि बहुत सारे अनावश्यक ट्रैफ़िक भेजे जाते हैं, और फ़िल्टर स्पष्ट रूप से काम नहीं करेगा। यदि एक असंबंधित प्रक्रिया संदेश को लॉग करती है तो उसमें कुछ स्ट्रिंग होती है।
जॉन स्मिथ

and the filter obviously won't work, आपने कोशिश की है? मैंने परिणाम के अनुसार अपना उत्तर दे दिया है।
सियावी शेन Shen

1
सवाल खिड़कियों के लिए था, जहां grep उपलब्ध नहीं है
sroskelley

1
यदि आप खिड़कियों पर साइबरविन का उपयोग करते हैं, तो आप grep का उपयोग कर सकते हैं ... और हां, यह काम करता है।
sgupta

6

यहाँ मैं एक टैग कैसे बनाऊं:

private static final String TAG = SomeActivity.class.getSimpleName();
 Log.d(TAG, "some description");

आप getCannonicalName का उपयोग कर सकते हैं

यहाँ मेरे पास TAG फिल्टर हैं:

  • किसी भी (*) देखें - VERBOSE
  • किसी भी (*) गतिविधि - VERBOSE
  • Xyz (*) - ERROR से शुरू होने वाला कोई भी टैग
  • System.out - SILENT (चूंकि मैं अपने कोड में लॉग का उपयोग कर रहा हूं)

यहाँ मैं टर्मिनल में क्या लिखता हूँ:

$  adb logcat *View:V *Activity:V Xyz*:E System.out:S
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.