Seguimiento de Errores
El seguimiento de errores es una parte integral del sistema de grabación de sesiones, proporcionando información de errores enriquecida con contexto dentro de los datos de la sesión del usuario.
Cómo funciona el Seguimiento de Errores con Sesiones
Los errores se capturan y asocian con la sesión activa actual. Esto significa que cada error incluye el contexto completo de la interacción del usuario que condujo al error, facilitando la reproducción y corrección de problemas.
Seguimiento Básico de Errores
import { SessionTracker } from '@your-sdk/core';
const session = new SessionTracker();
// Manejo básico de errores
try {
// Tu código de aplicación
} catch (error) {
session.addErrorTag({
message: error.message,
stack: error.stack,
// Contexto adicional
component: 'FormularioDePago',
action: 'procesarPago'
});
}Estructura del Objeto de Error
Cuando reportas un error usando addErrorTag(), debe incluir:
interface TrackedError {
message: string; // Mensaje de error
stack?: string; // Traza de la pila (si está disponible)
hash?: string; // Hash único para desduplicación
[key: string]: any; // Contexto adicional
}Mejores Prácticas para el Seguimiento de Errores
Proporciona Contexto
- Incluye el estado relevante de la aplicación
- Añade información del usuario (sin datos sensibles)
- Incluye IDs de solicitud o referencias de transacción relevantes
Gravedad del Error
- Usa el campo
levelpara indicar la gravedad:'error' | 'warning' | 'info' - Ejemplo:
session.addErrorTag({ ...error, level: 'warning' });
- Usa el campo
Agrupación de Errores
- Los errores similares se agrupan automáticamente usando el mensaje y la traza
- Añade una propiedad
hashpersonalizada para agrupar errores relacionados manualmente
Visualización de Errores
Los errores se pueden ver en la reproducción de la sesión junto con las acciones del usuario, permitiéndote ver:
- Qué estaba haciendo el usuario cuando ocurrió el error
- La secuencia de acciones que llevaron al error
- El estado de la aplicación en el momento del error
Escenarios Comunes de Errores
Excepciones No Manejadas
// Manejador global de errores
window.onerror = function(message, source, lineno, colno, error) {
session.addErrorTag({
message: message.toString(),
source,
line: lineno,
column: colno,
stack: error?.stack
});
return false; // Previene el manejo de errores por defecto del navegador
};Rechazos de Promesas No Manejados
window.addEventListener('unhandledrejection', (event) => {
const error = event.reason;
session.addErrorTag({
message: error?.message || 'Rechazo de Promesa No Manejado',
stack: error?.stack,
reason: error?.toString()
});
});Solución de Problemas
Si los errores no aparecen en los datos de tu sesión:
- Verifica que la sesión esté activa cuando ocurre el error
- Revisa la consola del navegador en busca de errores relacionados con el SDK
- Asegúrate de que el seguimiento de errores esté correctamente inicializado
Para más información sobre cómo trabajar con sesiones, consulta la documentación de Sesiones.
Nota: Los datos de error se recopilan de acuerdo con nuestra política de privacidad. No se debe incluir información sensible en los mensajes de error o trazas de pila.