Sitio web de resúmenes de películas - Últimas películas o Cine reciente - Cómo obtener el registro logcat del sistema Android

Cómo obtener el registro logcat del sistema Android

1. Mostrar solo la salida requerida, lista blanca.

La forma más conveniente es, por supuesto, usar grep para filtrar a través de la canalización, de modo que pueda usar la poderosa coincidencia de expresiones regulares de grep. Simplemente haga coincidir una cadena en una línea, como MiAplicación:

adb logcat | grep MiAplicación

adb logcat |

adb logcat | grep --color=auto -i myapp #Establece el color de cadena correspondiente. Consulte la ayuda de grep para obtener más configuraciones.

Para ser más avanzado, puedes usar la coincidencia de expresiones regulares de grep. Por ejemplo, el ejemplo anterior coincidirá con MyApp en cualquier lugar de una fila y se puede configurar para que coincida solo con etiquetas. La salida del registro predeterminada es la siguiente. Si se modifica el formato de salida, también se debe modificar la expresión correspondiente.

I/CacheService(665): Preparando DiskCache para todas las miniaturas.

Se puede ver que la etiqueta comienza desde el tercer carácter al principio de una línea, escriba en base a esto. la expresión:

adb logcat | grep "^..MyApp"

De acuerdo con este formato, también puede configurar para mostrar solo registros con una determinada prioridad y luego hacer coincidir la primer carácter al principio de la línea. Por ejemplo, solo se muestra la salida cuya etiqueta de nivel de error es MyApp:

adb logcat | ^E.MyApp"

Por supuesto, también puede hacer coincidir varias, use | Para separar varias expresiones coincidentes, es necesario agregar un carácter de escape. Por ejemplo, para hacer coincidir la salida con las etiquetas MyApp y MyActivity:

adb logcat | .MyApp|^..MyActivity" #Usa egrep sin caracteres de escape

2. Filtra la salida innecesaria y la lista negra

Aún usa grep, el uso es el mismo que el anterior, solo agrega. un -v. Por ejemplo, para filtrar la salida con las etiquetas MyApp y MyActivity:

adb logcat | vE " ^..MyApp|^..MyActivity" #Usar egrep sin caracteres de escape

3. Mostrar todos los resultados del mismo proceso

A veces hay varias etiquetas en un programa. Se deben generar todas las etiquetas del programa (el mismo PID); el uso solo del filtrado de etiquetas a veces omitirá algunos mensajes de error y, en general, los mensajes de error tienen el mismo PID que el programa. O implementarlo a través de grep. La idea es encontrar primero el número de pid según el nombre del paquete y luego hacer coincidir el pid. El script de shell está escrito de la siguiente manera y el parámetro es el nombre del paquete java del programa (como com.android.media).

Ver código fuente imprimir ayuda\

#!/bin/bash

packageName=$1

pid=`adb shell ps | grep $packageName | awk '{print $2}'`

adb logcat | grep --color=auto $pid

4. p> Logcat tiene un caché. Si solo necesita ver el registro iniciado actualmente, debe borrar el anterior.

adb logcat -c && adb logcat

5. Filtrar archivos de registro

A veces es necesario analizar archivos de registro para filtrar archivos de registro, todavía se usa grep. Por ejemplo, el archivo de registro es myapp.log. Para hacer coincidir la salida con las etiquetas MyApp y MyActivity, luego envíela a newmyapp.log: cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log.

Se recomienda utilizar Notepad++ en Windows, un bloc de notas potente y gratuito que admite la búsqueda y el reemplazo de expresiones regulares. Se pueden resaltar las coincidencias y se puede eliminar el contenido no deseado.

Las técnicas anteriores utilizan principalmente grep. De hecho, logcat también tiene una función de filtrado, que puede filtrar registros según etiquetas y prioridades. Para obtener más información, consulte el documento oficial de Android Lectura y escritura de registros. Si prefiere utilizar una interfaz gráfica, consulte El uso de DDMS en DDMS también se puede filtrar de la misma manera.