-
Notifications
You must be signed in to change notification settings - Fork 0
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.
interface iLog {
project: any,
quantity: number,
logs: any[]
}IMPORTANTE: La propiedad
logses un array de lo que tú necesites registrar. NOTA: Te recomiendo que agregues la fecha y hora en que se registró el evento.
Esta función permite establecer la configuración inicial para este proyecto.
| 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 |
jtEssentials.log.setup(config: { project: any, quantity: number }): voidjtEssentials.log.setup({
project: { name: 'MyApp', version: '1.0.0' },
quantity: 50
});Esta función permite obtener el registro con todo lo que se ha registrado hasta el momento.
No recibe parámetros.
jtEssentials.log.get(): iLoglet 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' }
// ]
// }Esta función permite agregar un nuevo registro al log.
| 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. |
jtEssentials.log.push(log: any): voidImportant
Recuerda que este método no agrega fechas ni horas, por lo que debes incluirlas en tu objeto.
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() });Esta función permite limpiar el log, manteniendo la configuración del setup.
No recibe parámetros.
jtEssentials.log.clear(): voidjtEssentials.log.clear();Esta función permite eliminar completamente los logs, incluyendo la configuración.
No recibe parámetros.
jtEssentials.log.remove(): voidjtEssentials.log.remove();Esta función permite exportar el log a un archivo JSON.
No recibe parámetros.
jtEssentials.log.export(): voidjtEssentials.log.export();
//Se descargará un archivo JSON con todos los registros hasta el momento.