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


Cómo filtrar una variable en el visor de Eclipse LogCat

Tengo una aplicación de Android que "spams" el LogCat y me gustaría eliminar sus entradas logcat con el fin de tener una salida más legible.

¿Es posible tener un filtro que elimine las entradas de LogCat para un nombre de etiqueta específico? O un patrón de búsqueda que hace el truco?

  • Eclipse necesita ser reiniciado con frecuencia para que logcat funcione correctamente
  • Leer Logcat mediante programación dentro de la aplicación
  • Cómo se guardan los mensajes de logcat
  • Quitar ActionbarSherlock registra cuando BuildConfig.DEBUG
  • mensajes de error de libagl alphaPlaneWorkaround en LogCat
  • Logcat de Android: enviar entradas de registro desde el dispositivo mediante correo electrónico
  • Suprimir tostadas del paquete en Android
  • Nombre del paquete no mostrado en Logcat en ICS
  • 7 Solutions collect form web for “Cómo filtrar una variable en el visor de Eclipse LogCat”

    Sí. Cree un filtro donde el campo "By log tag" sea

    ^(?!.*(MYTAG)).*$ 

    Donde MYTAG es la etiqueta que no desea ver. Yo no soy un experto regexp (un "regexpert"? ;-)) así que puede haber una manera más simple de hacer esa negación, pero sólo lo intenté y funciona.

    Puede jugar con el filtro en el campo justo encima del área de mensaje de Log Cat, introduciendo cadenas de filtro allí, como esto:

     tag:^(?!.*(DeskClock|dalvik|wpa)).*$ 

    Que mostrará todos los mensajes excepto las etiquetas "DeskClock", "dalvik" y "wpa".

    Depende de la forma en la que ve su logcat.

    Si está utilizando la interfaz GUI logcat es mejor crear un filtro para las etiquetas que desea ver. Estos se dejan caer en una categoría separada. Aunque el ui cambió un poco puedes usar esta vieja respuesta de mí . Debe estar claro cómo se utiliza (asegúrese de que se presiona el botón "ficha de filtros guardados en la pantalla", de lo contrario no verá el botón "Añadir filtro", lo encontrará en la parte superior derecha del registro) . No estoy al tanto de ninguna opción que le permite filtrar ciertas etiquetas de todo el logstream.

    Si está utilizando la línea de comandos, puede silenciar determinadas etiquetas. Ejemplo:

     adb logcat AndroidRuntime:S *:V 

    Muestra todo ( *:V ) hasta el nivel de registro detallado, excepto la etiqueta AndroidRuntime , que se limitará al nivel de registro de "silencio", lo que significa que no imprimirá nada.

    Para mostrar una sola etiqueta puede utilizar

     adb logcat *:S MyAppTag:V OtherTag:V 

    De la misma manera, todo se silencia excepto MyAppTag y OtherTag . Consulte Filtrado de la salida del registro para obtener más detalles.

    Esto puede no parecer directamente relevante para la pregunta, pero aquí es un regex que filtra la mayoría de los registros generados por el sistema cuando se pone esto en su filtro de etiquetas como lo describe Rob .

     ^(?!(WifiMulticast|WifiHW|MtpService|PushClient|InputMethodManager|Provider|SurfaceTextureClient|ImageLoader|dalvikvm|OpenGLRenderer|skia|AbsListView|MediaPlayer|AudioManager|VelocityTracker|Drv|Jpeg|CdpDrv|IspDrv|TpipeDrv|iio|ImgScaler|IMG_MMU|ResMgrDrv|JpgDecComp|JpgDecPipe|mHalJpgDec|PipeMgrDrv|mHalJpgParser|jdwp|libEGL|Zygote|Trace|InputEventReceiver|SpannableStringBuilder|IInputConnectionWrapper|MotionRecognitionManager|Choreographer|v_galz|SensorManager|Sensors|GC|LockPatternUtils|SignalStrength|STATUSBAR-BatteryController|BatteryService|STATUSBAR-PhoneStatusBar|WifiP2pStateTracker|Watchdog|AlarmManager|BatteryStatsImpl|STATUSBAR-Clock)) 

    Sigo actualizando esta lista de etiquetas a medida que las encuentro probando en diferentes dispositivos. La lista no es exhaustiva y usted es libre de contribuir a esta respuesta. Estoy seguro de que esto ahorrará una hora para muchos.

    Si hay otros registros que necesita filtrado, adjúntelos a esta regex utilizando un '| ' personaje.

    No pude obtener la solución elegida para funcionar correctamente en Android Studio (el IDE que vendrá con versiones futuras de SDK de Android). Sin embargo, la siguiente regex resolvió mi problema:

     ^(?!dalvikvm) 

    Tengo un truco:

      Log.d(TAG, "MyTag" + message); 

    Como se puede ver, cuando se filtra con una tecla "MyTag", sólo muestra el registro de mi etiqueta.

    Esta es una respuesta tardía, pero tal vez útil. En el entorno de Eclipse, en la vista de LogCat, encima de la tabla hay un cuadro de búsqueda. Preste atención, cuando está vacío lee:

    Buscar mensajes. Acepta regexes de Java. Prefijo con pid :, app :, etiqueta: o texto: para limitar el alcance.

    Significa que puedes filtrar tu etiqueta escribiendo allí tag: MyTag o incluso etiqueta regex : My. *

    Otra forma de filtrar los mensajes de registro que no proceden de SU aplicación es seleccionar:

    Nivel de registro: Verboso

    "Mostrar sólo la aplicación seleccionada" (en la lista desplegable de selección de filtros)

    A continuación, seleccione su aplicación desde la lista desplegable lista desplegable en la ventana logcat.

    Esto sólo debería mostrar mensajes de registro y salida de la aplicación.

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