Android Studio'da logcat nasıl filtrelenir?


99

Logcat'imde çok fazla çıktı var, bu yüzden bazı anahtar sözcükleri kullanarak onu filtrelemek istiyorum, temelde yalnızca anahtar sözcükleri içeren çıktıyı görüntülüyorum. Bunu Android Studio'da UI aracılığıyla yapmanın bir yolu var mı?



hayır, mesajları anahtar kelimeye göre nasıl filtreleyeceğimi soruyorum.
Alessandro Roaro

android studio ver 0.4.5'ten itibaren yalnızca çalışan uygulamadan mesajlar alacaksınız. 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

Yanıtlar:


109

Bunu yapmanın iki yolu vardır, her ikisi de IDE'nin altındaki Android sekmesindedir (logcat çıktısının görüntülendiği yer).

İlk olarak, üstteki arama kutusuna bir şey yazmanız yeterlidir ve yalnızca yazdığınız metni içeren mesajları filtrelemelidir.

İkinci olarak, sağ üstteki açılır menüye tıklayarak, varsayılan olarak Filtresiz görüntülenmesi Edit Filter Configurationve neye filtre uygulanacağını seçip belirterek gelişmiş filtreleme yapabilirsiniz . Bu yöntemi kullanarak filtreleri de kaydedebilir ve açılır menüden seçerek yeniden kullanabilirsiniz.

Ekran görüntüsü:
Logcat Ara ve Filtrele


1
Cevabınız için teşekkürler. İlkini zaten denedim, ancak ilgisiz çıktıyı filtrelemiyor. Ynt: ikinci seçenek, ne yazık ki açılır menüyü göremiyorum, hangi sürümü kullanıyorsunuz?
Alessandro Roaro

1
V0.3.5 kullanıyorum ... cevaba bir ekran görüntüsü ekledim.
free3dom

1
Bunu sadece ekran görüntüsünü yaparken fark ettim, HENÜZ filtrelemenin başka bir yolu var. Açık sol (sağ yanındaki sekmeler için) tarafı yeşil oklarla bir simgedir - :) listede seçili süreçten sadece logcat görüntülemek için açık / kapalı o konuma getirilebilir
free3dom

Teşekkürler,
sürümümde

Sorun değil! Sanırım v0.3.3 / 4'e eklendi. Android Studio her sürümde daha iyi hale geliyor :)
free3dom

86

Yaptığım şey, sevmediğim bir satıra sağ tıklayıp "Bunun gibi katlama çizgileri" ni seçmekgörüntü açıklamasını buraya girin


10
Vay harika!! Keşke bunu daha önce bilseydim!
miva2

8
Cevap bu olmalı.
2016

2
Sadece bu, Android Studio logcat üzerindeki genymotion ile selimi çözdü, teşekkürler.
Florida

3
Şaşırdım bunu daha önce hiç fark etmedim. İyi bul!
dm78

1
Tamam anladım :-D (sadece metin ile yeşil renkli girişe çift tıklayın: "n iç çağrıları")
Aydın K.

53

@ Free3dom'ın dediği gibi, logcats almak istediğiniz işlemi seçebilirsiniz. İşte ekran görüntüsü.

Ekran Görüntüsü


2
Bunu eklediğiniz için teşekkürler. It en iyi herkes için buraya olmasını ve sadece :) yorumlar kısmında belirtilen
free3dom

39
Çok güzel grafikler ;-)
Gerard

1
android studio ver 0.4.5 u'dan itibaren, sadece çalışan uygulamadan mesajlar alacaksınız. 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
Üç

Bir sorunum daha var, belirli bir paket için filtre yapılandırmasından filtre uyguladığımda logcat boş oluyor.
Bhupesh

19

NASIL YAPTIĞINIZI GÖSTERMEK İÇİN BİR VİDEO ÖĞRETİMİ YAPTIM = https://youtu.be/xw2qE5ko_9I

Günlüğünüze bir ad verin. Benimkine "wawa" dedim.

görüntü açıklamasını buraya girin

Android Studio'da, Android-> Filtre Yapılandırmalarını Düzenle'ye gidin

görüntü açıklamasını buraya girin

Ardından günlüklere verdiğiniz adı yazın. Benim durumumda buna "wawa" denir. İşte yapabileceğiniz filtre türlerine ilişkin bazı örnekler. System.out, System.err, Logs veya paket adlarına göre filtreleyebilirsiniz:

görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin görüntü açıklamasını buraya girin


2
Bir satır içeren günlükleri gizlemek için bunu reddedecek bir normal ifade var mı?
Hugo M. Zuleta

Bildiğim kadarıyla hayır. Regex kullanmak istiyorsanız, bence en iyi yol Android işletim sistemine bağlanmak ve Grep'i Bash Terminalinde kullanmaktır.
Gene

^ (?! chromium) (?! WebViewFactory) (?! zygote) .... (?! TAG_NAME) gibi gizlemek istediğiniz bunlara benzer etiketler ekleyin. Bir etiket için normal ifade kullanmak istiyorsanız, ör. "asd" ile başlayan tüm etiketleri gizlemek istiyorsanız, bu etiket "listesine" (?! (^ asd)) eklersiniz.
Drusantia

11

Önce kodunuzda ETİKET adlarınızı belirtin, örneğin

private static final String TAG = "MainTagName";

Sonra bir şey çıktı almak istediğiniz yere günlük ifadeleri ekleyin

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

İkinci gönderideki free3dom'a göre, logcat sekmesinde Filtreler açılır menüsünü ve ardından Filtre Yapılandırmasını Düzenle'yi tıklayın.

Bu örnekte , dikey çizgiyi kullanan üç eşleşen etiket adından herhangi biri için günlük mesajlarını görüntülemek için Günlük Etiketi (regex) seçeneğini kullanıyoruz. ayırıcı (boşluksuz):

MainTagName|SomeTagName|SomeOtherTagName

2
Kullanırken herhangi bir logcat çıktısı alamıyorum. iki etiketi ayırmak için (Android Studio 1.2)
Someone Somewhere

2
@SomeoneSomewhere TAG'ınızın adının Log ifadesindeki ilk parametre ile eşleştiğinden emin olun. Etiket adları ile dikey çizgi arasında boşluk olmadığından emin olun, örn. Etiket1 | etiket2. Kodunuzda hata ayıklayarak aslında etiket komutuna bastığınızdan emin olun. Logcat penceresindeki Günlük düzeyi açılır menüsünde günlük düzeyinizin Hata Ayıkla veya Ayrıntılı olarak ayarlandığını kontrol edin.
HostMyBus

2
Her türlü kombinasyonu denedim. Benimki başarısız oldu çünkü boşluklu filtrem vardı ve | "Tag1 | Tag2" gibi. Bu cevabı buldum ve boşlukları kaldırdık ve mükemmel çalışıyor. Teşekkürler!
raddevus

6

Logcat'ta filtreleri açarken sorun yaşadım. Android Studio 3.2'deki filtreleri görmek için, filtrelerin yeniden görünmesini sağlamak için 'Kayan Mod'u tekrar açıp kapatmanız gerekir.

görüntü açıklamasını buraya girin


3

Benim için çalışan bir alternatif Show only selected application, filtre menüsündeki seçeneği seçmektir :

görüntü açıklamasını buraya girin


"Firebase" seçeneğinin ne zaman geldiğine dair bir fikriniz var mı? Bugün ilk kez gördüm (bir yaşımı uygulamamın neden artık günlüğe kaydetmediğini merak ettikten sonra).
Richard Le Mesurier

Orada olduğunu bile bilmiyordum.
Ojonugwa Jude Ochalifu

1
Ben de yapmadım, ama onu seçtim (bilmeden) ve bu çok zaman harcadı. Yine de Thx
Richard Le Mesurier

2

Diğer cevaptaki resimlerin eski mi yoksa eksik mi olduğunu bilmiyorum ama işte güncellenmiş bir resim.

Alttaki Android Monitor sekmesine tıklayın ve logcat sekmesinin seçili olduğundan emin olun . Ardından çıktınızı filtrelemek istediğinizi yazın . Benimkini etiket adımla filtreledim TAG.

görüntü açıklamasını buraya girin


2

Sadece kendi hatamı eklemek için:

Emülatörü ve gerçek bir cihazı kullanırken, logcat sekmesinin sol üstündeki açılır menüde hata ayıkladığınız cihaza geçmek için emin olun.


1

buna bakın https://medium.com/zinuzoid/if-you-developing-android-application-1bdff0a96205

sadece LogCat'i oluşturun, String'in altındaki bir eki "LogTag" e filtreleyin, bu daha sonra sistem satırlarını yoksayacaktır

^(?!.*(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))
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.