Registro en aplicaciones JavaScript (Cordova, Web)
improve this page | report issueVisió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
-
Utilice una instancia de
WL.Logger
con el nombre de paquetemyApp
.var logger = WL.Logger.create({ pkg: 'MyApp' });
-
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' } });
-
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.