Android mejoró la grabación usando la biblioteca Timber

Cubrir con madera es una potente herramienta de registro basada en la clase Log de Android, que hace que el registro sea más fácil y eficiente. Permite el filtrado automático de declaraciones de registro por tipo de compilación, eliminando la necesidad de una tediosa limpieza manual antes del lanzamiento.

Timber ofrece muchas funciones útiles para una mejor grabación. Veamos cómo podemos usarlo en nuestros proyectos para mantener los registros organizados.

Tutorial de corte de madera en Android

1. madera

A continuación se muestran algunas declaraciones de depuración impresas utilizando el valor predeterminado. Tronco de árbol clase. val a = 100 Log.e(“TAG”, String.format(“El valor entero es: %d”, a)) val name = “Android Studio” Log.e(“TAG”, String.format(“El mi nombre es: %s”, nombre)) Las mismas instrucciones se pueden imprimir usando Cubrir con madera como se muestra a continuación. // valor entero a = 100 Timber.d(“Un valor entero es: %d”, a) val nombre = “Android Studio” Timber.d(“Mi nombre es: %s”, nombre)

  • Puedes notar aquí, el ETIQUETA no se pasa a Timber ya que detecta automáticamente la clase en la que se escribieron los registros.
  • Además, el formateador de cadenas no se utiliza para formatear la declaración ya que Timber puede hacerlo automáticamente por usted.

2. Integración de la madera

Ahora veamos cómo integrar la biblioteca en su proyecto haciéndola disponible en todas las clases.

  1. Crea un nuevo proyecto en Android Studio desde Archivo ⇒ Nuevo Proyecto y seleccione Actividades vacías de los modelos.
  2. Abierto construir.gradle y agregue la dependencia de la madera. implementación ‘com.jakewharton.timber:timber:5.0.1’
  3. Timber debe inicializarse tan pronto como se inicie la aplicación. COMO, Solicitud La clase sería el mejor lugar para hacer esto. Crea una nueva clase llamada MiAplicación.kt y extender la clase desde Aplicación.
    1. Inicializar madera en enCrear método plantando un nuevo árbol.
    2. Uso Madera.DebugTree() para imprimir registros solo en modo de depuración.
    3. Si desea detectar excepciones en el modo de lanzamiento, puede crear un árbol diferente y plantarlo en el modo de lanzamiento. Este paso es completamente opcional pero si deseas enviar excepciones a un servicio diferente, este es el lugar adecuado para hacerlo.

    paquete info.androidhive.android_timber importar android.app.Application importar android.util.Log importar madera.log.Timber clase MiAplicación: Aplicación() { anular diversión onCreate() { super.onCreate() if (BuildConfig.DEBUG) { Madera .plant(Timber.DebugTree()) } else { Timber.plant(ReleaseTree()) } } clase privada ReleaseTree: Timber.Tree() { anular registro divertido(prioridad: Int, etiqueta: String?, mensaje: String, t : ¿Lanzable?) { if (prioridad == Log.VERBOSE || prioridad == Log.DEBUG) { return } // registra el fallo en tu marcador // Enviar informe de fallo a Firebase CrashAnalytics // FirebaseCrash.report( mensaje); // FirebaseCrash.report(nueva excepción(mensaje)); } } }

  4. No olvides agregar mi aplicacion al tuyo etiqueta en el tuyo AndroidManifest.xml
  5. La madera ahora está lista para usar en su aplicación. A continuación se muestran algunos ejemplos de declaraciones sobre registros de madera que demuestran diferentes escenarios. paquete info.androidhive.android_timber importar android.os.Bundle importar androidx.activity.enableEdgeToEdge importar androidx.appcompat.app.AppCompatActivity importar androidx.core.view.ViewCompat importar androidx.core.view.WindowInsetsCompat importar Timber.log.Timber @Suppress (“DIVISION_BY_ZERO”) clase MainActivity: AppCompatActivity() { anular diversión onCreate(savedInstanceState: ¿Paquete?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContentView(R.layout.activity_main) ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main) ) )) { v, inserciones -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom) inserciones } Timber.d( ” ¡Hola desde Timber!”) // el valor booleano esWeekend = false Timber.d(“Esto imprime el valor booleano. Es fin de semana: %b”, esWeekend) // valor entero a = 100 Timber.d(“El valor entero es : %d”, a) // float val pi = 3.14159f Timber.d(“El valor de Pi es: %f”, pi) try { val ans = 10 / 0 Timber .d(“Valor de a: % d” , ans) } catch (e: Exception) { Timber.e(e) // o Timber.e(“Excepción en operación matemática: %s”, e.message) } } }

Déjame saber tus preguntas en la sección de comentarios a continuación.

¡Saludos!
Feliz programación 🤗

Compruebe también

El evento del iPad de Apple el 7 de mayo podría revelar una gran sorpresa

Puntos clave Apple puede omitir los conjuntos de chips M3 para los iPads 2024 en …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *