Skip to content

Commit 0ffd867

Browse files
committed
feat: plugin Visor de Errores v1.3 con documentación completa
- Añade plugin completo de WordPress para gestión de debug.log - Implementa visualización con resaltado de sintaxis por tipo de error - Incluye descarga, archivado automático y búsqueda de logs - Agrega notificaciones automáticas para nuevos errores - Soporte para logs archivados con timestamp - Prefijos de funciones actualizados a yd_ve_ - Documentación completa en README.md - Interfaz de administración segura con permisos
1 parent 12db246 commit 0ffd867

File tree

2 files changed

+193
-0
lines changed

2 files changed

+193
-0
lines changed

README.md

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Visor de Errores - Plugin de WordPress
2+
3+
![WordPress Plugin](https://img.shields.io/badge/WordPress-Plugin-blue.svg)
4+
![Version](https://img.shields.io/badge/Version-1.3-green.svg)
5+
![PHP](https://img.shields.io/badge/PHP-7.4+-purple.svg)
6+
7+
Un plugin completo para WordPress que permite visualizar, gestionar y monitorear el archivo `debug.log` directamente desde el panel de administración.
8+
9+
## 📋 Características
10+
11+
- **Visualización de logs**: Muestra el contenido del archivo `debug.log` con resaltado de sintaxis por tipo de error
12+
- **Descarga de archivos**: Permite descargar el archivo de log completo
13+
- **Sistema de archivado**: Limpia y archiva automáticamente los logs con timestamp
14+
- **Búsqueda en tiempo real**: Filtra el contenido del log por términos específicos
15+
- **Notificaciones automáticas**: Alerta cuando se detectan nuevos errores
16+
- **Gestión de logs antiguos**: Visualiza y accede a logs archivados previamente
17+
- **Interfaz intuitiva**: Panel de administración fácil de usar con iconos y botones claros
18+
19+
## 🚀 Instalación
20+
21+
### Instalación Manual
22+
23+
1. Descarga el archivo `error-log-viewer.php`
24+
2. Sube el archivo a la carpeta `/wp-content/plugins/error-log-viewer/` de tu sitio WordPress
25+
3. Activa el plugin desde el panel de administración de WordPress en **Plugins > Plugins Instalados**
26+
4. El plugin aparecerá en el menú lateral como **"Visor de Errores"**
27+
28+
### Instalación vía FTP
29+
30+
```bash
31+
# Crear directorio del plugin
32+
mkdir wp-content/plugins/error-log-viewer
33+
34+
# Subir archivo principal
35+
upload error-log-viewer.php wp-content/plugins/error-log-viewer/
36+
```
37+
38+
## 📖 Uso
39+
40+
### Acceso al Plugin
41+
42+
1. Ve al panel de administración de WordPress
43+
2. Busca **"Visor de Errores"** en el menú lateral (icono de advertencia)
44+
3. Haz clic para acceder al visor de logs
45+
46+
### Funcionalidades Principales
47+
48+
#### 🔍 Visualización de Logs
49+
- Los errores se muestran con colores diferenciados:
50+
- **Rojo**: Fatal errors
51+
- **Naranja**: Warnings
52+
- **Azul**: Notices
53+
- Los logs más recientes aparecen primero
54+
55+
#### 📥 Descargar Log
56+
- Haz clic en **"📥 Descargar log"** para obtener una copia del archivo `debug.log`
57+
58+
#### 🧹 Limpiar Log
59+
- El botón **"🧹 Limpiar log"** archiva el log actual con timestamp y crea uno nuevo vacío
60+
- Los logs archivados se guardan como `debug.old.YYYY-MM-DD_HH-mm-ss.log`
61+
62+
#### 🔎 Búsqueda
63+
- Utiliza el campo de búsqueda para filtrar errores específicos
64+
- La búsqueda es insensible a mayúsculas y minúsculas
65+
66+
#### 📚 Logs Archivados
67+
- Accede a logs anteriores desde la sección "Logs Archivados"
68+
- Cada log archivado mantiene su timestamp de creación
69+
70+
## ⚙️ Requisitos del Sistema
71+
72+
- **WordPress**: 5.0 o superior
73+
- **PHP**: 7.4 o superior
74+
- **Permisos**: Capacidad `manage_options` (Administrador)
75+
- **Archivo debug.log**: Debe existir en `wp-content/debug.log`
76+
77+
## 🔧 Configuración
78+
79+
### Habilitar Debug Log en WordPress
80+
81+
Para que el plugin funcione correctamente, asegúrate de tener habilitado el debug log en WordPress:
82+
83+
```php
84+
// En wp-config.php
85+
define('WP_DEBUG', true);
86+
define('WP_DEBUG_LOG', true);
87+
define('WP_DEBUG_DISPLAY', false);
88+
```
89+
90+
### Permisos de Archivos
91+
92+
Asegúrate de que WordPress pueda escribir en el directorio `wp-content/`:
93+
94+
```bash
95+
chmod 755 wp-content/
96+
chmod 644 wp-content/debug.log
97+
```
98+
99+
## 🛡️ Seguridad
100+
101+
- **Control de acceso**: Solo usuarios con capacidad `manage_options` pueden acceder
102+
- **Nonces de seguridad**: Todas las acciones están protegidas con nonces de WordPress
103+
- **Sanitización**: Todos los inputs son sanitizados antes del procesamiento
104+
- **Escape de salida**: Todo el contenido mostrado es escapado para prevenir XSS
105+
106+
## 📁 Estructura de Archivos
107+
108+
```
109+
error-log-viewer/
110+
├── error-log-viewer.php # Archivo principal del plugin
111+
├── README.md # Este archivo
112+
└── logs/ # Logs archivados (generados automáticamente)
113+
├── debug.old.2024-01-15_10-30-45.log
114+
└── debug.old.2024-01-14_09-15-22.log
115+
```
116+
117+
## 🐛 Solución de Problemas
118+
119+
### El plugin no muestra logs
120+
- Verifica que `WP_DEBUG_LOG` esté habilitado en `wp-config.php`
121+
- Asegúrate de que el archivo `wp-content/debug.log` existe
122+
- Comprueba los permisos de escritura en `wp-content/`
123+
124+
### No aparecen notificaciones de nuevos errores
125+
- Las notificaciones solo aparecen para usuarios con permisos de administrador
126+
- Visita la página del plugin al menos una vez para inicializar el sistema de monitoreo
127+
128+
### Error de permisos
129+
- Verifica que tu usuario tenga la capacidad `manage_options`
130+
- Solo administradores pueden acceder al plugin
131+
132+
## 🔄 Changelog
133+
134+
### Versión 1.3
135+
- ✅ Visualización completa del debug.log con resaltado de sintaxis
136+
- ✅ Sistema de descarga de archivos
137+
- ✅ Archivado automático con timestamp
138+
- ✅ Búsqueda y filtrado en tiempo real
139+
- ✅ Notificaciones de nuevos errores
140+
- ✅ Gestión de logs archivados
141+
- ✅ Interfaz de usuario mejorada
142+
- ✅ Prefijos de funciones actualizados a `yd_ve_`
143+
144+
## 👨‍💻 Autor
145+
146+
**Yogui Dev**
147+
- GitHub: [https://github.com/yogui-dev](https://github.com/yogui-dev)
148+
- Versión: 1.3
149+
150+
## 📄 Licencia
151+
152+
Este plugin es software libre y se distribuye bajo los términos de la Licencia Pública General de GNU (GPL) v2 o posterior.
153+
154+
## 🤝 Contribuciones
155+
156+
Las contribuciones son bienvenidas. Por favor:
157+
158+
1. Fork el repositorio
159+
2. Crea una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`)
160+
3. Commit tus cambios (`git commit -am 'Añadir nueva funcionalidad'`)
161+
4. Push a la rama (`git push origin feature/nueva-funcionalidad`)
162+
5. Crea un Pull Request
163+
164+
## 📞 Soporte
165+
166+
Si encuentras algún problema o tienes sugerencias:
167+
168+
1. Revisa la sección de **Solución de Problemas**
169+
2. Crea un issue en el repositorio de GitHub
170+
3. Incluye detalles sobre tu versión de WordPress y PHP
171+
172+
---
173+
174+
**¿Te gusta este plugin?** ⭐ ¡Dale una estrella en GitHub!

error-log-viewer.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,25 @@ function yd_ve_error_log_viewer_page()
110110
echo '</div></div>';
111111
}
112112

113+
add_action('admin_notices', 'yd_ve_check_debug_settings');
114+
115+
function yd_ve_check_debug_settings()
116+
{
117+
if (!current_user_can('manage_options')) return;
118+
119+
$debug_enabled = defined('WP_DEBUG') && WP_DEBUG;
120+
$debug_log_enabled = defined('WP_DEBUG_LOG') && WP_DEBUG_LOG;
121+
122+
if (!$debug_enabled || !$debug_log_enabled) {
123+
echo '<div class="notice notice-error">';
124+
echo '<p><strong>Atención:</strong> El log de errores de WordPress no está activo.</p>';
125+
echo '<p>Asegúrate de tener estas líneas en tu <code>wp-config.php</code>:</p>';
126+
echo '<pre style="background:#f1f1f1; padding:10px; border-radius:5px;">define(\'WP_DEBUG\', true);
127+
define(\'WP_DEBUG_LOG\', true);</pre>';
128+
echo '</div>';
129+
}
130+
}
131+
113132

114133
// Hook para mostrar aviso en el admin si hay nuevos errores
115134
add_action('admin_notices', 'yd_ve_show_new_errors_notice');

0 commit comments

Comments
 (0)