El arsenal de Android: registro

⚠️ ¡Resolver problemas es divertido! ⚠️


Contenidos

documentación

instalación

Paso 1. Agregue el repositorio de JitPack a su archivo de compilación.

    allprojects {
        repositories {
            maven { url 'https://jitpack.io' }
        }
    }

Paso 2. Agrega la dependencia.

    dependencies {
            implementation 'com.github.rommansabbir:TraceX:Tag'
    }

versión disponible

¿Por qué TraceX?

TraceX fue diseñado para monitorear a todos excepción no detectada se produce de forma predeterminada en el ciclo de vida de la aplicación. Además, el cliente puede desactivar el seguimiento automático excepción no detectada al seguirlo TraceXConfig y registrarse manualmente Activity para monitorear llamando TraceX.registerActivity API.

TraceX escribe automáticamente un registro en el directorio de caché de la aplicación cuando la excepción no detectada es una instancia de RuntimeException Residencia en Config. El cliente también puede escribir un nuevo registro en el directorio de caché de la aplicación llamando TraceX.writeANewLog API.

Además, el cliente puede obtener todos los registros escritos por TraceX o el propio cliente por llamada telefónica TraceX.writeANewLog API.

El cliente también puede eliminar una lista de registros administrados o no administrados del directorio de caché escrito por TraceX. O simplemente elimine del directorio de caché todos los registros escritos por TraceX.

Lema de esta biblioteca:

Como desarrolladores, no sabemos a qué dispositivo o sistema de restricciones se aplica. Exception o RuntimeException cuando la aplicación está allí PRODUCCIÓN. Si alguna excepción no detectada ocurre durante el ciclo de vida de la aplicación, lo aprendemos de otros biblioteca de registro.

Pero como desarrollador, es posible que desee saber que el usuario es navegado a una página específica (por ejemplo, la página de inicio) cuando ocurre una excepción fatal que finalmente elimina el proceso de la aplicación en el dispositivo. Antes de navegar por esta página, podemos escribir un registro en el directorio de caché de la aplicación siguiendo ese información del dispositivo actual, subproceso actual, lanzamientos que se han producido y un objeto JSON como información adicional. O simplemente podemos escribir nuestro propio registro en el directorio de caché.

Para que podamos recuperar los registros escritos en la lista desde el directorio de caché cuando el usuario ejecuta la aplicación nuevamente, podemos procesar los registros, p. ENVIARLO AL SERVIDOR REMOTO para solucionar problemas, analizar o simplemente ignorar o eliminar el registro del directorio de caché.

NOTA: La escritura o lectura de registros del directorio de caché sigue el proceso de cifrado/descifrado mediante StoreX.


¿Cómo inicializo y accedo?:

Inicializar TraceX de tu Application.onCreate()

    TraceXProvider.register(TraceXConfig(this,
        autoRegisterForEachActivity = true,
        autoLogRuntimeExceptions = true
    ))

Acceso TraceX Avance TraceXProvider.INSTANCE que devuelven una instancia de TraceX

API públicas:

  • registerListener(listener: TraceXCallback?)Registrarse o darse de baja de Oyentes

  • registerActivity(activity: Activity?): BooleanRegistre manualmente una actividad para manejar eventos de error no detectados y devolver Boolean. Igualmente, TraceXConfig.autoRegisterForEachActivity debiera ser false

  • writeANewLog(throwable: Throwable, additionalInfo: String = ""): BooleanPara escribir un nuevo registro cifrado en el directorio de caché de la aplicación y volver Boolean.

  • getRecentCrashLogs(): MutableList<TraceXCrashLog>Para obtener una lista de registros recientes del directorio de caché de la aplicación. [Note: It’s a CPU Intensive process, execute the operation with Coroutine/RxJava.]

  • clearCrashLogs(list: MutableList<TraceXCrashLog>)Para eliminar una lista específica de TraceXCrashLog desde el directorio de caché de la aplicación. [Note: It’s a CPU Intensive process, execute the operation with Coroutine/RxJava.]

  • clearAllLogs(): BooleanCómo eliminar todos los registros del directorio de caché de la aplicación escritos por **TraceX [Note: It’s a CPU Intensive process, execute the operation with Coroutine/RxJava.]


Recuerde: todas las API públicas se activan TraceXNotInitializedException Cuando TraceX no se inicializa antes de ser accedido APIs.


Checkout the sample app for the implementaion in detail


Feliz codificación…


Contáctame

LinkedIn | al blog


licencia

Apache versión 2.0

Copyright (C) 2022 Romman Sabbir

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.