Los diferentes métodos son indicaciones de prioridad. Como los ha enumerado, van de menos a más importantes. Creo que la forma en que los asigna específicamente a los registros de depuración en su código depende del componente o la aplicación en la que esté trabajando, así como de cómo Android los trata en diferentes tipos de compilación (eng, userdebug y user). He hecho una buena cantidad de trabajo en los demonios nativos en Android, y así es como lo hago. Es posible que no se aplique directamente a su aplicación, pero puede haber algo en común. Si mi explicación suena vaga, es porque algo de esto es más un arte que una ciencia. Mi regla básica es ser lo más eficiente posible, asegurarme de que pueda depurar razonablemente su componente sin eliminar el rendimiento del sistema, y siempre verifique si hay errores y regístrelos.
V - Impresiones de estado a diferentes intervalos, o sobre cualquier evento que ocurra que procese mi componente. También posiblemente impresiones muy detalladas de las cargas útiles de mensajes / eventos que mi componente recibe o envía.
D - Detalles de eventos menores que ocurren dentro de mi componente, así como cargas de mensajes / eventos que mi componente recibe o envía.
I: el encabezado de los mensajes / eventos que recibe o envía mi componente, así como cualquier parte importante de la carga útil que sea crítica para la operación de mi componente.
W - Cualquier cosa que ocurra que sea inusual o sospechosa, pero no necesariamente un error.
E - Errores, es decir, cosas que no deben suceder cuando las cosas funcionan como deberían.
El error más grande que veo que comete la gente es que usan en exceso cosas como V, D e I, pero nunca usan W o E. Si un error, por definición, no se supone que suceda, o debería suceder muy raramente, entonces es extremadamente Es barato para usted registrar un mensaje cuando ocurre. Por otro lado, si cada vez que alguien presiona una tecla, hace un Log.i (), está abusando del recurso de registro compartido. Por supuesto, use el sentido común y tenga cuidado con los registros de errores para cosas que están fuera de su control (como errores de red), o aquellos contenidos en bucles estrechos.
Tal vez malo
Log.i("I am here");
Bueno
Log.e("I shouldn't be here");
Con todo esto en mente, cuanto más se acerque su código a la "producción lista", más podrá restringir el nivel de registro base para su código (necesita V en alfa, D en beta, I en producción, o posiblemente incluso W en producción ) Debe revisar algunos casos de uso simples y ver los registros para asegurarse de que aún puede comprender lo que sucede a medida que aplica un filtrado más restrictivo. Si ejecuta con el filtro a continuación, aún debería poder decir qué está haciendo su aplicación, pero tal vez no obtenga todos los detalles.
logcat -v threadtime MyApp:I *:S
Verbose
iniciar sesión. Es lo que utiliza cuando desea generar todas las operaciones lógicas posibles.