Registro en aplicaciones JavaScript (Cordova, Web)

improve this page | report issue

Visión general

Esta guía de aprendizaje proporciona fragmentos de código con el propósito de añadir funcionalidades de creación de registro en aplicaciones JavaScript.

Requisito previo: Asegúrese de leer la visión general de recopilación de registro del lado del cliente.

Habilitación de la captura de registro

De forma predeterminada, la captura de registro está habilitada. La captura de registro, que es posible habilitar e inhabilitar mediante programación, guarda registros en el cliente. Los registros se envían al servidor con una llamada de envío explícita, o mediante un registro automático.

Nota: La habilitación de la captura del registro en niveles de detalle elevados puede afectar al consumo de la CPU del dispositivo, el espacio del sistema de archivos y el tamaño de la carga útil cuando el cliente envía registros a través de la red.

Para inhabilitar la captura de registro:

Cordova

WL.Logger.config({capture: false});

Web

ibmmfpfanalytics.logger.enable(false);

Envío de registros capturados

Envíe los registros a MobileFirst de acuerdo a la lógica de su aplicación. También es posible habilitar el registro automático para enviar registros. Si los registros no se envían antes de que alcancen el tamaño máximo, el archivo de registro se depura en favor de registros más recientes.

Nota: Adopte el siguiente patrón al recopilar datos de registro. El envío de datos en un intervalo de tiempo garantiza que está viendo sus datos de registro en tiempo casi real en MobileFirst Analytics Console.

Aplicaciones Cordova

Para asegurarse de que todos los registros capturados se envían, considere un de las siguientes estrategias:

  • Llamar al método send en un intervalo de tiempo.
  • Llamar al método send desde las llamadas de retorno de suceso del ciclo de vida de la aplicación.
  • Incremente el tamaño máximo de archivo del almacenamiento intermedio de registro persistente (en bytes):
    setInterval(function() {
      WL.Logger.send();
    }, 60000);
    
WL.Logger.config({ maxFileSize: 150000 });

Aplicaciones web

setInterval(function() {
   ibmmfpfanalytics.logger.send();
}, 60000);

El tamaño de archivo máximo para la API web es de 5 mb y no es posible cambiarlo.

Envío de registro automático

De forma predeterminada, el envío de registro automático está habilitado. Cada vez que se envía una solicitud de recurso satisfactoria al servidor, también se envían los registros capturados, con un intervalo mínimo de 60 segundos entre envíos. El envío de registro automático se puede habilitar o inhabilitar desde el cliente. De forma predeterminada, el envío de registro automático está habilitado.

Para aplicaciones Cordova

Para habilitar:

WL.Logger.config({autoSendLogs: true});

Para inhabilitar:

WL.Logger.config({autoSendLogs: false});

Para aplicaciones web

Para habilitar:

ibmmfpfanalytics.enableAutoSend(true);

Para inhabilitar:

ibmmfpfanalytics.enableAutoSend(false);

Cambiar el intervalo de autoSendLog

De forma predeterminada, el intervalo de autoSendLog se establece en 60 segundos. El intervalo de AutoSendLog se puede modificar utilizando el método siguiente.

Para aplicaciones Cordova

Para establecer el intervalo de autoSendLog en 120 segundos, consulte el siguiente fragmento.

WL.Logger.config({autoSendLogs: true,autoSendLogsInterval: 120});

Para aplicaciones web

Para establecer el intervalo de autoSendLog en 120 segundos, consulte el siguiente fragmento.

ibmmfpfanalytics.enableAutoSend(true, 120);

Ajuste preciso con la API Logger

El SDK de cliente de MobileFirst utiliza internamente la API Logger. De forma predeterminada, se capturan las entradas de registro que el SDK realiza. Para un ajuste fino en la recopilación del registro, utilice instancias de Logger con nombres de paquete. También puede controlar qué nivel de registro se captura mediante las analíticas utilizando filtros desde el lado del servidor.

A modo de ejemplo para capturar solo registros cuando el nivel sea ERROR para el nombre de paquete myApp, siga estos pasos.

Ajuste fino para aplicaciones Cordova

  1. Utilice una instancia de WL.Logger con el nombre de paquete myApp.

    var logger = WL.Logger.create({ pkg: 'MyApp' });
    
  2. Opcional: Especifique un filtro para restringir la captura de registro y la salida de registro a únicamente el nivel y paquete especificados mediante programación.

    WL.Logger.config({
         filters: {
             'MyApp': 'ERROR'
         }
    });
    
  3. Opcional: Controle los filtros de manera remota recuperando un perfil de configuración de servidor.

Aplicaciones web

Con el SDK de web, el cliente no puede establecer el nivel. Se envían todos los registros al servidor hasta que se cambia la configuración al recuperar el perfil de configuración del servidor.

Recuperación de perfiles de configuración del servidor

Los niveles de registro se pueden establecer por el cliente o recuperando perfiles de configuración del servidor. Desde MobileFirst Analytics Console, se puede establecer de forma global un nivel de registro (todas las instancias de Logger) o para un paquete o paquetes específicos. Para obtener información sobre cómo configurar el filtro desde MobileFirst Analytics Console, consulte Configuración de filtros de registro. Para que el cliente recupere las modificaciones de configuración establecidas en el servidor, se debe llamar al método updateConfigFromServer desde un lugar en el código que se ejecute de forma regular como, por ejemplo en las llamadas de retorno del ciclo de vida de la aplicación.

Recuperación de perfiles de configuración del servidor para aplicaciones Cordova

WL.Logger.updateConfigFromServer();

Recuperación de perfiles de configuración del servidor para aplicaciones Web

ibmmfpfanalytics.logger.updateConfigFromServer();

Ejemplo de creación de registro

La salida se dirige a la consola JavaScript del navegador, LogCat o la consola Xcode.

Ejemplo de registro de Cordova

var MathUtils = function(){
   var logger = WL.Logger.create({pkg: 'MathUtils'});
   var sum = function(a, b){
      var sum = a + b;
      logger.debug('sum called with args ' + a + ' and ' + b + '. Returning ' + sum);
      return sum;
   };
}();

Ejemplo de registro web

Para el registro con aplicaciones web, utilice el ejemplo anterior y sustituya

var logger = WL.Logger.create({pkg: 'MathUtils'});

por

var logger = ibmmfpfanalytics.logger.create({pkg: 'MathUtils'});
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on May 13, 2020