← Volver al listado de tecnologías
Capítulo 4: Logging y Timeline
Logging y Timeline
La timeline es el corazón de Reactotron. Aprenderás a usar logs avanzados.
Tipos de Logs
import Reactotron from './ReactotronConfig';
// Log simple
Reactotron.log('Mensaje simple');
// Log con objeto
Reactotron.log('Usuario:', { id: 1, name: 'Juan' });
// Warning
Reactotron.warn('Esto es una advertencia');
// Error
Reactotron.error('Esto es un error', new Error('Detalles'));
// Display (objeto expandible)
Reactotron.display({
name: 'API Response',
value: { users: [...] },
preview: '5 users loaded',
});
Benchmarking
Medir tiempo de ejecución:
const benchmark = Reactotron.benchmark('Carga de datos');
// ... operación costosa ...
await fetchLargeDataset();
benchmark.stop(); // Muestra tiempo en timeline
Categorías Personalizadas
Reactotron.display({
name: 'PAYMENT',
value: { amount: 99.99, currency: 'USD' },
preview: 'Payment processed',
important: true, // Resaltado en timeline
});
Timeline Visual
┌─────────────────────────────────────┐
│ Timeline │
├─────────────────────────────────────┤
│ 10:30:01 LOG App started │
│ 10:30:02 API GET /users 200 │
│ 10:30:02 REDUX SET_USERS │
│ 10:30:05 WARN Cache miss │
│ 10:30:10 BENCH Load: 245ms │
└─────────────────────────────────────┘
Ejercicio Práctico
Objetivo
Implementar logging estructurado en tu app.
Pasos
- Crea logs para diferentes eventos
- Usa
displaypara datos complejos - Implementa benchmark para una operación
- Observa todo en la timeline
Ver solución
import Reactotron from './ReactotronConfig';
function ProductsScreen() {
const loadProducts = async () => {
const bench = Reactotron.benchmark('Load Products');
Reactotron.log('Iniciando carga de productos');
try {
const response = await fetch('/api/products');
const products = await response.json();
Reactotron.display({
name: 'PRODUCTS',
value: products,
preview: `${products.length} productos`,
});
bench.stop();
} catch (error) {
Reactotron.error('Error cargando productos', error);
}
};
return <Button onPress={loadProducts} title="Cargar" />;
}
Criterios de Éxito
- Diferentes tipos de logs usados
- Benchmark implementado
- Timeline muestra eventos