Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo excluir ciertos mensajes por el nombre de TAG utilizando Android adb logcat?

Logcat permite filtrar los registros, pero funciona así: Usted define filtros y logcat sólo muestra mensajes que coinciden con los filtros. ¿Pero hay una manera de exhibir todos los registros EXCEPTO algunas ETIQUETAS definidas por los filtros?

  • Cómo vaciar (borrar) el búfer logcat en Android
  • Cómo depurar BOOT_COMPLETE radiodifusión receptor "Fuerza Close" se bloquea?
  • Android studio logcat nada para mostrar
  • Eclipse - Logcat vacío con Android 7
  • LogCat no muestra TAG "SMS"
  • ¿Cómo ejecutar logcat en varios dispositivos?
  • Enviar correo electrónico mediante programación en Android
  • Cómo desactivar logcat Envolvimiento de texto en Eclipse Juno
  • 7 Solutions collect form web for “¿Cómo excluir ciertos mensajes por el nombre de TAG utilizando Android adb logcat?”

    Si está usando adb logcat , podría canalizarlo a través de grep y usarlo de forma invertida: Desde la página de manual grep :

    V, –invert-match Invertir el sentido de coincidencia, para seleccionar líneas no coincidentes.

    Por ejemplo:

     $adb logcat | grep --invert-match 'notshownmatchpattern' 

    Puede extender esto utilizando expresiones regulares .

    He aquí un ejemplo de tal expresión:

     "/^(?:emails|tags|addresses)" 

    Éste comprobaría para cualquiera de los dados para ocurrir, grep entonces no los enumeraría.

    Puede hacerlo desde dentro de DDMS Monitor (y también de Eclipse o Android Studio) con el cuadro de entrada de expresiones regulares y afirmaciones negativas de anticipación , por ejemplo, estoy excluyendo mucho ruido de mi registro con lo siguiente:

     tag:^(?!(WifiMulticast|WifiHW|MtpService|PushClient)) 

    (La "etiqueta:" no es parte de la expresión regular, pero le dice a LogCat que sólo aplique el regex al campo Tag. Si utiliza este truco en un filtro guardado, coloque sólo la expresión regular en el cuadro de entrada "Tag" , Y omitir el prefijo "tag:")

    En el panel Monitor de Logcat de Android Studio, puede configurar un filtro guardado para esto abriendo la lista desplegable en la esquina superior derecha (puede tener seleccionado "Mostrar sólo la aplicación seleccionada") y seleccionando Editar configuración de filtro. Cree un nuevo filtro logcat y coloque ^(?!(WifiMulticast … etc )) en el cuadro Log Tag, con la casilla de verificación Regex marcada.

    Si desea excluir o filtrar ciertos mensajes por nombre de etiqueta en Android Studio, vaya a la ventana LogCat => Editar configuración de filtro e introduzca lo siguiente en "por Log Tag (regex):"

     ^(?!(tag1|tag2|tag3|tag4)) 

    Tenga en cuenta que no hay espacios, esto es importante

    Desde el shell, puedes usar un comando como:

     adb logcat AlarmManagerService:S PowerManagerService:S *:V 

    Que incluirá todos los registros aparte de aquellos con las etiquetas AlarmManagerService y AlarmManagerService .

    (El :S significa "silencioso", lo que significa que no se imprimirá nada para esas etiquetas, el :V significa "verboso", lo que significa que todo se imprimirá para todos los demás tags.La documentación de Android para logcat tiene más detalles de otras opciones Que puede utilizar en los filtros.)

    También puede utilizar la variable de entorno ANDROID_LOG_TAGS para configurar filtros predeterminados, por ejemplo (en bash):

     export ANDROID_LOG_TAGS="AlarmManagerService:S PowerManagerService:S *:V" 

    ^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$

    Esto excluirá los textos que tengan contenido WindowManager, dalvik, …

    tag:^(?!.*(WindowManager|dalvik|Environment|DataRouter|AlarmManager)).*$

    Esto excluirá las etiquetas WindowManager, dalvik, … de logcat

    Combine la apariencia positiva y negativa para un filtro más potente.

    Ejemplo:

     (?=(AndroidRuntime|Main|RandomTag))(?!(Audio)) 

    Las etiquetas de los primeros paréntesis anidados se incluyen.

    Las etiquetas en segundo se excluyen.

    Dentro de la vista de Eclipse Logcat no hay tal opción. Sin embargo, puede utilizar el nivel de registro para excluir cualquier mensaje cuyo nivel de registro es demasiado bajo. P.ej. Configurándolo en I (nfo) no muestra mensajes D (ebug) y (V) erbose.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.