Skip to content
JaviertINC edited this page Nov 23, 2025 · 1 revision

jtEssentials.log

Aquí hay una funcionalidad que es muy útil para ir registrando las acciones del usuario y así poder detectar más rápido los errores.

Important

Importa jtEssentials directamente en tu proyecto.

Para los ejemplos usaremos la importación directa jtEssentials

import jtEssentials from '@javiert.dev/essentials';

Important

Los registros se guardan en el sessionStorage del navegador, por lo que se perderán al cerrar la pestaña o el navegador. Esto es para evitar que se llene el almacenamiento del navegador con registros innecesarios.

De igual forma, en la configuración hay una opción para limitar la cantidad de registros que se guardan en el sessionStorage. El campo se llama log_quantity. Recomiendo que nunca supere los 1000 registros. Entre 50 y 200 es un buen número.

Interfaz iLog

interface iLog {
    project: any,
    quantity: number,
    logs: any[]
}

IMPORTANTE: La propiedad logs es un array de lo que tú necesites registrar. NOTA: Te recomiendo que agregues la fecha y hora en que se registró el evento.

Setup

Esta función permite establecer la configuración inicial para este proyecto.

Parámetros

Parámetro Tipo Requerido Valor por defecto Descripción
config.project Any Obligatorio Información del proyecto
config.quantity Number Obligatorio Cantidad máxima de registros a mantener

Estructura

jtEssentials.log.setup(config: { project: any, quantity: number }): void

Ejemplos de uso

jtEssentials.log.setup({
    project: { name: 'MyApp', version: '1.0.0' },
    quantity: 50
});

Get

Esta función permite obtener el registro con todo lo que se ha registrado hasta el momento.

Parámetros

No recibe parámetros.

Estructura

jtEssentials.log.get(): iLog

Ejemplos de uso

let result = jtEssentials.log.get();
console.log(result);
//Resultado: {
//    project: { name: 'MyApp', version: '1.0.0' },
//    quantity: 50,
//    logs: [
//        { message: 'User logged in', timestamp: '2023-10-01T12:00:00Z' },
//        { message: 'User clicked button', timestamp: '2023-10-01T12:05:00Z' }
//    ]
// }

Push

Esta función permite agregar un nuevo registro al log.

Parámetros

Parámetro Tipo Requerido Valor por defecto Descripción
log any Obligatorio Registro que deseas agregar al log, puede ser un string, un objeto, o cualquier otro tipo de dato que necesites.

Estructura

jtEssentials.log.push(log: any): void

Important

Recuerda que este método no agrega fechas ni horas, por lo que debes incluirlas en tu objeto.

Ejemplos de uso

jtEssentials.log.push({ message: 'User logged in', timestamp: new Date().toISOString() });
jtEssentials.log.push({ message: 'User clicked button', params: {test: 'value'}, timestamp: new Date().toISOString() });

Clear

Esta función permite limpiar el log, manteniendo la configuración del setup.

Parámetros

No recibe parámetros.

Estructura

jtEssentials.log.clear(): void

Ejemplos de uso

jtEssentials.log.clear();

Remove

Esta función permite eliminar completamente los logs, incluyendo la configuración.

Parámetros

No recibe parámetros.

Estructura

jtEssentials.log.remove(): void

Ejemplos de uso

jtEssentials.log.remove();

Export

Esta función permite exportar el log a un archivo JSON.

Parámetros

No recibe parámetros.

Estructura

jtEssentials.log.export(): void

Ejemplos de uso

jtEssentials.log.export();
//Se descargará un archivo JSON con todos los registros hasta el momento.

Clone this wiki locally