Visualización de Errores
Cómo ver errores en tiempo real
Vasak Desktop utiliza el sistema de logging estándar de Rust. Los errores se envían a stderr y pueden visualizarse de varias formas.
1. Ejecutar con logs habilitados
Ver todos los logs (incluyendo errores)
1
|
RUST_LOG=debug vasak-desktop
|
Ver solo advertencias y errores
1
|
RUST_LOG=warn vasak-desktop
|
Guardar logs en un archivo
1
|
RUST_LOG=debug vasak-desktop 2>&1 | tee vasak-errors-$(date +%Y%m%d).log
|
2. Usar journalctl (si la app se ejecuta como servicio)
1
2
3
4
5
6
7
8
|
# Ver logs en tiempo real con nivel ERROR o superior
journalctl --user -p err -f | grep vasak
# Ver última hora de errores
journalctl --user -p err --since "1 hour ago" | grep vasak
# Ver todos los logs
journalctl --user | grep vasak
|
3. Ver errores específicos de componentes
Errores de red
1
|
RUST_LOG=vasak_desktop::network=debug vasak-desktop 2>&1 | grep -i error
|
Errores de Bluetooth
1
|
RUST_LOG=vasak_desktop::bluetooth=debug vasak-desktop 2>&1 | grep -i error
|
Errores de Audio
1
|
RUST_LOG=vasak_desktop::audio=debug vasak-desktop 2>&1 | grep -i error
|
Errores de D-Bus
1
2
3
4
5
|
# Ver actividad D-Bus del sistema
dbus-monitor --system | grep -i error
# Ver actividad D-Bus de sesión de usuario
dbus-monitor --session | grep -i error
|
Entender los mensajes de error
Estructura de un mensaje de log
1
|
[TIMESTAMP] [LEVEL] [MODULE] - MESSAGE
|
Ejemplo:
1
|
[2024-01-12T14:35:22Z] ERROR vasak_desktop::audio - Failed to connect to PulseAudio: Connection refused
|
- TIMESTAMP - Fecha y hora del error
- LEVEL - Nivel de severidad (ERROR, WARN, etc.)
- MODULE - Componente que generó el error
- MESSAGE - Descripción del problema
Errores Comunes y Significado
“Connection refused”
Significa que se intentó conectar a un servicio (como PulseAudio, D-Bus) pero no está disponible.
Solución común: Reinicia el servicio
1
2
3
|
systemctl --user restart pulseaudio
# o para PipeWire:
systemctl --user restart pipewire
|
“Permission denied”
Significa que falta permisos para acceder a un recurso.
Solución común: Verifica tu membresía en grupos de usuarios
1
2
3
4
5
|
# Para audio
sudo usermod -a -G audio $USER
# Para bluetooth
sudo usermod -a -G bluetooth $USER
|
“Failed to load configuration”
El archivo de configuración está corrupto o no se puede leer.
Solución común: Restaura la configuración a valores por defecto
1
2
3
4
5
|
# Copia la configuración a backup
mv ~/.config/vasak ~/.config/vasak.backup
# Al reiniciar, se recreará con valores por defecto
vasak-desktop
|
“D-Bus service not available”
Un servicio del sistema no se encuentra disponible.
Solución común: Verifica que los servicios estén corriendo
1
|
systemctl --user status
|
Generar un reporte de error detallado
Si necesitas compartir información de error para reporte:
1
2
3
4
5
6
7
8
9
|
# Ejecutar con logs y capturar todo
RUST_LOG=debug vasak-desktop 2>&1 | tee vasak-error-report-$(date +%Y%m%d-%H%M%S).log
# Añadir información del sistema al archivo
echo "=== INFORMACIÓN DEL SISTEMA ===" >> vasak-error-report-*.log
echo "Fecha: $(date)" >> vasak-error-report-*.log
echo "Distro: $(lsb_release -d)" >> vasak-error-report-*.log
echo "Kernel: $(uname -r)" >> vasak-error-report-*.log
echo "Sesión: $XDG_SESSION_TYPE" >> vasak-error-report-*.log
|
El archivo generado puede ser adjuntado en un issue de GitHub.
Ver también:
Cómo Reportar Errores
Errores en la consola del navegador (herramientas de desarrollo)
Si ejecutas Vasak Desktop en modo desarrollo:
- Presiona
F12 para abrir las Herramientas de Desarrollo
- Ve a la pestaña Console
- Busca mensajes en rojo (errores) o amarillo (advertencias)
Ejemplo de error en la consola:
1
2
|
TypeError: Cannot read property 'forEach' of undefined
at AudioControl.vue:45:12
|
Monitoreo continuo de errores
Para monitorear errores mientras usas la aplicación:
1
2
3
4
5
|
# Ejecutar con logs en una terminal
RUST_LOG=warn vasak-desktop
# O ver logs del sistema en tiempo real
journalctl --user -f | grep vasak
|
Si la aplicación se cierra inesperadamente:
1
2
3
4
5
6
7
8
|
# Ver si hay core dumps recientes
coredumpctl list | grep vasak
# Ver detalles del último core dump
coredumpctl info
# Extraer backtrace del último crash
coredumpctl debug
|
Logs menos verbose (reducir ruido)
Si los logs son demasiado detallados:
1
2
3
4
5
6
7
8
|
# Solo errores críticos
RUST_LOG=error vasak-desktop
# Solo advertencias y errores
RUST_LOG=warn vasak-desktop
# Ejecutar sin mostrar errores en la interfaz
VASAK_SUPPRESS_ERRORS=1 vasak-desktop
|
Nota: Esto solo oculta la notificación visual, pero los errores siguen registrándose en los logs.