Estoy usando Android jellybeans. Hay una gran cantidad de información de depuración que se vierte por muchos componentes. Por lo tanto, me doy cuenta de que los registros de mi aplicación se pierden a menudo. He intentado volcar el registro de logcat en un archivo en el teléfono y luego hacer un "adb pull". Aún así, hay una buena cantidad de registros que se pierden. ¿Hay alguna manera de asegurar que no se pierdan los registros?
Respuestas
¿Demasiados anuncios?El registro en Android utiliza un buffer de anillo con un tamaño fijo (el tamaño exacto depende de diferentes criterios), ver por ejemplo ¿Cuál es el límite de tamaño de Logcat? por lo que las entradas más antiguas se sobrescriben una vez que el búfer está "lleno". Se puede ajustar el tamaño del búfer (ver: ¿Cómo puedo aumentar el tamaño del registro de dev/log/main? ), pero esos ajustes probablemente no sobrevivirían a un arranque.
Si realmente quieres asegurarte de que no se pierde ningún dato del registro, tendrías que canalizar el registro a algún "recurso externo", ya sea a algún "almacenamiento externo" o a la "nube".
En primer lugar, el registro en Android es un registro circular, lo que significa que si usted tiene una gran cantidad de registros que van por ahí son las declaraciones más antiguas se sobrescribe. ¿Por qué no utilizar una solución personalizada como microlog para Android http://code.google.com/p/microlog4android/
Puedes utilizar el comando logcat | grep 'YOURTAG', para mostrar sólo los registros de tus aplicaciones. Se puede hacer a través de cualquier emulador de terminal, o utilizando Android Debug Bridge (adb)