Como filtrar o logcat no Android Studio?


96

No meu logcat há muita saída, então gostaria de filtrá-la usando algumas palavras-chave, basicamente exibindo apenas a saída que contém a (s) palavra (s) -chave. Existe uma maneira de fazer isso no Android Studio por meio da IU?



não, estou perguntando como filtrar as mensagens por palavra-chave.
— Alessandro Roaro

a partir do android studio versão 0.4.5, você receberá mensagens apenas do aplicativo que está sendo executado. 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

Respostas:


107

Existem duas maneiras de fazer isso, ambas na guia Android na parte inferior do IDE (onde a saída do logcat é exibida).

Primeiro, você pode simplesmente digitar algo na caixa de pesquisa na parte superior e ela deve filtrar apenas as mensagens que contenham o texto digitado.

Em segundo lugar, você pode fazer uma filtragem avançada clicando no menu suspenso no canto superior direito, que deve exibir Nenhum filtro por padrão, e escolher Edit Filter Configuratione especificar o que filtrar. Usando esse método, você também salva os filtros e pode reutilizá-los selecionando-os no menu suspenso.

Captura de tela:
Pesquisar e filtrar Logcat


1
Obrigado pela sua resposta. Já tentei o primeiro, mas ele não filtra a saída não relevante. Re: a segunda opção, infelizmente não consigo ver o menu suspenso, qual versão você está usando?
— Alessandro Roaro

1
Estou usando a v0.3.5 ... adicionei uma captura de tela à resposta.
— free3dom

1
Acabei de notar isso enquanto fazia a captura de tela, AINDA existe outra maneira de filtrar. No lado esquerdo (ao lado das guias) há um ícone com setas verdes - ele pode ser ligado / desligado para exibir apenas o logcat do processo selecionado na lista :)
— free3dom

Obrigado, eu não tinha esses filtros na minha versão (0.3.2)
— Alessandro Roaro

Sem problemas! Suponho que foi adicionado na v0.3.3 / 4 então. O Android Studio está cada vez melhor com cada versão :)
— free3dom

81

O que eu faço é clicar com o botão direito em uma linha que não gosto e selecionar "Linhas de dobra como esta"insira a descrição da imagem aqui


9
Uau, ótimo!! Gostaria de saber disso antes!
— miva2

7
Esta deve ser a resposta.
— feliz por

2
Só isso resolve minha inundação por genymotion no Android Studio logcat, obrigado.
— Flórida

3
Espantado por nunca ter percebido isso antes. Bom achado!
— dm78

1
ok entendi :-D (basta clicar duas vezes na entrada verde com o texto: "n chamadas internas")
— Aydin K.

53

Como @ free3dom disse, você pode selecionar o processo do qual deseja receber logcats. Aqui está a imagem.

Captura de tela


2
Obrigado por adicionar isso. É bom tê-lo aqui para todos e só mencionei nos comentários :)
— free3dom

39
Ótimos gráficos também ;-)
— Gerard

1
a partir do Android Studio versão 0.4.5, você receberá mensagens apenas do aplicativo que está sendo executado. 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 para pressioná-lo em 'Mostrar apenas logs do processo selecionado'
— lujop

Eu tenho um outro problema, quando aplico o filtro da configuração do filtro, para um pacote específico, o logcat fica em branco.
— Bhupesh

17

FIZ UM VÍDEO TUTORIAL PARA MOSTRAR PARA VOCÊ COMO = https://youtu.be/xw2qE5ko_9I

Dê um nome ao seu log. Chamei o meu de "wawa".

insira a descrição da imagem aqui

No Android Studio, vá para Android-> Editar configurações de filtro

insira a descrição da imagem aqui

Em seguida, digite o nome que você deu aos logs. No meu caso, é chamado de "wawa". Aqui estão alguns exemplos dos tipos de filtros que você pode fazer. Você pode filtrar por System.out, System.err, Logs ou nomes de pacote:

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui


2
Existe uma regex para negar isso, a fim de ocultar os logs que contêm uma linha?
— Hugo M. Zuleta

Não que eu saiba. Se você quiser usar regex, acho que a melhor maneira é adb no sistema operacional Android e usar Grep no Terminal Bash.
— Gene

^ (?! chromium) (?! WebViewFactory) (?! zygote) .... adicione tags como essas que você deseja ocultar como (?! TAG_NAME). Se você quiser usar regex para uma tag, por exemplo. você deseja ocultar todas as marcas que começam com "asd", então você adiciona (?! (^ asd)) a esta "lista" de marcas.
— Drusantia

11

Primeiro declare seus nomes de TAG em seu código, por exemplo

private static final String TAG = "MainTagName";

Em seguida, adicione instruções de registro onde deseja gerar algo

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

De acordo com free3dom na segunda postagem, na guia logcat, clique no menu suspenso Filtros e, em seguida, em Editar configuração de filtro.

Neste exemplo, estamos usando a opção Log Tag (regex) para exibir mensagens de log para qualquer um dos três nomes de tag correspondentes usando o pipe | separador (sem espaços):

MainTagName|SomeTagName|SomeOtherTagName

2
Não recebo nenhuma saída do logcat ao usar o | para separar as duas tags (Android Studio 1.2)
— Someone Somewhere

2
@SomeoneSomewhere Certifique-se de que o nome do seu TAG corresponda ao primeiro parâmetro na declaração de Log. Certifique-se de que não haja espaços entre os nomes das tags e a barra vertical, por exemplo, tag1 | tag2. Certifique-se de que está de fato acertando o comando tag ao depurar seu código. Verifique se o nível de registro está definido como Depurar ou Detalhado na lista suspensa Nível de registro na janela do logcat.
— HostMyBus

2
Tentei todos os tipos de combinações. O meu falhou porque tinha meu filtro com espaços e o | como "Tag1 | Tag2". Encontrou esta resposta e removeu os espaços e funciona perfeitamente. Obrigado!
— raddevus de

5

Tive problemas para ligar os filtros no Logcat. Para ver os filtros no Android Studio 3.2, você deve ativar e desativar o 'Modo Flutuante' novamente para fazer os filtros reaparecerem.

insira a descrição da imagem aqui


3

Uma alternativa que funciona para mim é selecionar a Show only selected applicationopção no menu de filtro:

insira a descrição da imagem aqui


Alguma ideia de quando a opção "Firebase" chegou? Eu vi pela primeira vez hoje (depois de passar um tempo me perguntando por que meu aplicativo não estava mais registrando).
— Richard Le Mesurier

Eu nem tinha ideia de que estava lá.
— Ojonugwa Jude Ochalifu de

1
Nem eu, mas eu tinha escolhido (sem saber) e isso perdi muito tempo. Obrigado de qualquer maneira
— Richard Le Mesurier

2

Não sei se as imagens da outra resposta são antigas ou se estava faltando alguma coisa, mas aqui está uma imagem atualizada.

Clique na guia Android Monitor na parte inferior e certifique-se de que a guia logcat esteja selecionada. Em seguida, digite o que deseja para filtrar sua saída. Eu filtrei o meu com o meu nome de tag TAG.

insira a descrição da imagem aqui


2

Só para adicionar meu próprio erro:

certifique-se de que, ao usar o emulador e um dispositivo real, alterne para o dispositivo que você está depurando na lista suspensa à esquerda acima da guia logcat.


1

consulte https://medium.com/zinuzoid/if-you-developing-android-application-1bdff0a96205

basta criar o filtro LogCat e inserir abaixo da string para "LogTag" que irá ignorar as linhas do sistema

^(?!.*(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))
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.