Resumen
Esta página explica cómo consultar los registros (logs) de Moodle y del servidor, cómo activar el modo de depuración para obtener información detallada y cómo filtrar errores para identificar la causa raíz sin afectar la experiencia de usuarios en producción.
1. Consultar registros desde Moodle
- Ir a Administración del sitio > Informes > Registros.
- Seleccionar los filtros disponibles: periodo (fechas), curso, usuario, actividad y acción. Aplicar el filtro para reducir el volumen de entradas.
- Revisar las entradas resultantes y exportarlas si hace falta (CSV) para análisis fuera de Moodle.
2. Activar el modo de depuración (interfaz)
- Ir a Administración del sitio > Desarrollo > Depuración.
- En Mensajes de depuración, elegir DEVELOPER: mostrar todos para obtener el máximo detalle.
- Marcar Mostrar mensajes de depuración para que los errores se muestren en pantalla (solo temporalmente y preferible restringir por IP o entorno de pruebas).
- Guardar cambios y reproducir el comportamiento que causa el error para capturar la información detallada.
Importante: no dejar el modo de depuración activo en entornos de producción. Desactivarlo cuando termine el diagnóstico.
3. Activar depuración mediante config.php (si no puede hacerlo desde la interfaz)
Si no tiene acceso a la interfaz de administración por cualquier motivo, puede habilitar la depuración temporalmente en el archivo config.php del sitio (con precaución): editar config.php e insertar/ajustar las variables de depuración según la versión de Moodle y la configuración del servidor. Después de finalizar el diagnóstico, revertir el cambio inmediatamente.
4. Consultar registros del servidor (Apache, Nginx, PHP)
Muchos problemas en Moodle se reflejan primero en los registros del servidor web o en los logs de PHP. Ejemplos de comandos útiles (ajustar rutas según su sistema):
# Ver últimos 200 errores de Apache
sudo tail -n 200 /var/log/apache2/error.log
# Seguir en tiempo real (Apache/Nginx)
sudo tail -f /var/log/apache2/error.log
# Filtrar por palabra clave (p. ej. 'Warning' o parte del mensaje)
grep -i "warning" /var/log/apache2/error.log | tail -n 100
# Ver logs de PHP-FPM usando journalctl (sistemas con systemd)
sudo journalctl -u php-fpm -f
5. Estrategias de filtrado para diagnóstico
- Filtrar por intervalo de tiempo: limitar la búsqueda a la hora en la que ocurrió el problema.
- Filtrar por usuario o curso en los registros de Moodle para ver acciones relacionadas.
- Buscar palabras clave: "Exception", "Fatal error", "Warning", nombres de plugins o rutas de archivos implicados.
- Si el problema sucede al guardar o acceder a una actividad, filtrar por la actividad (por ejemplo, el nombre de la página o id de la actividad).
6. Diagnóstico paso a paso
- Reproducir el error con depuración activada y anotar mensajes y trazas (stack traces).
- Comprobar simultáneamente los logs del servidor para ver errores de PHP o del servidor web en el mismo rango de tiempo.
- Si hay un plugin implicado, desactivarlo temporalmente en un entorno de pruebas y verificar si el problema persiste.
- Si la información no es suficiente, aumentar el detalle de logs (por ejemplo, registro de eventos o activar logging más detallado) y volver a reproducir.
7. Buenas prácticas
- No dejar depuración activada en producción (riesgo de exponer información sensible y degradación de rendimiento).
- Trabajar en un entorno de pruebas o restringir la depuración por IP si necesita más tiempo para investigar.
- Documentar los pasos realizados y los cambios en configuración; revertir cualquier cambio temporal al terminar.
- Si encuentra errores repetitivos, crear un informe de incidencia con los logs relevantes, la versión de Moodle, y los pasos para reproducir.
8. Ejemplo rápido de flujo de trabajo
- Usuario reporta error al guardar una página.
- Administración del sitio: activar depuración a nivel DEVELOPER y mostrar mensajes.
- Reproducir el error, copiar el mensaje y la traza mostrada en pantalla.
- Revisar logs de PHP y del servidor para el mismo timestamp y copiar entradas relevantes.
- Filtrar logs por la ruta del plugin/archivo mencionado en la traza y comprobar permisos o dependencias faltantes.
- Corregir y desactivar depuración, confirmar resolución.
Recursos y referencias
- Administración del sitio > Desarrollo > Depuración (interfaz de Moodle).
- Registros del servidor (Apache/Nginx) y logs de PHP en el sistema.
- Exportar logs desde Moodle para análisis externo (CSV).
Si necesitas, puedo generar una checklist más detallada adaptada a tu versión de Moodle o ejemplos concretos de comandos para tu servidor (indica si usas Apache o Nginx y la distribución del servidor).