WordPress debug log location
WordPress error_log
A veces activo WP_DEBUG en producción cuando necesito depurar algo, y todavía quiero usar el log pero me gustaría redirigirlo a algo fuera de mi raíz web. ¿Es esto posible usando WP_DEBUG_LOG?
Así que, si quieres cambiar la ubicación del log para WP_DEBUG_LOG en un plugin o tema, la respuesta de webaware es la mejor. Si sólo quieres cambiarlo dentro de wp-config.php puedes reemplazar define( 'WP_DEBUG_LOG', true ); con las 2 líneas anteriores y cambiar el archivo de registro a donde quieras.
Parece que el código de WordPress ha cambiado desde la última respuesta a esta pregunta. La función actual wp_debug_mode() relacionada con esas constantes incluye una prueba para saber si WP_DEBUG_LOG es igual a true o 1 -- en cuyo caso se comporta como otros lo han descrito.
Sin embargo, también puede establecer esa constante a una cadena -- su ruta de archivo preferida -- y el registro se mostrará allí. Por ejemplo, puede establecerla en una ruta fuera de sus directorios para contenido web de acceso público. Puede que tenga que jugar con los permisos de archivo para que esto funcione.
WordPress no debug log file
Todo buen desarrollador debería activar la depuración antes de empezar con un nuevo plugin o tema. De hecho, el Codex de WordPress "recomienda encarecidamente" que los desarrolladores utilicen el modo WP_DEBUG mientras trabajan en código que planean publicar.
Cuando se establece en "true", empezará a ver avisos PHP - no tanto errores como mensajes útiles para los desarrolladores - y mensajes de depuración generados por WordPress, particularmente el uso de funciones obsoletas, mostrados en las páginas de su sitio.
Las funciones obsoletas, que se encuentran en muchas versiones de WordPress, son funciones que han sido marcadas para morir en una fecha posterior. Es importante saber si estás usando una función obsoleta en un tema o plugin en el que estás trabajando para poder encontrar un reemplazo.
Es importante tener en cuenta que WP_DEBUG no debe ser utilizado en un sitio en vivo. Mientras que es una función útil durante el desarrollo, puede ser peligrosa en un sitio vivo porque el texto en las notificaciones PHP puede revelar detalles sobre tu código, rutas y otra información a los visitantes de tu sitio.
Ubicación de los registros de WordPress
El siguiente código, insertado en su archivo wp-config.php, registrará todos los errores, avisos y advertencias en un archivo llamado debug.log en el directorio wp-content. También ocultará los errores para que no interrumpan la generación de páginas.
Nota: Los valores true y false en el ejemplo no están rodeados por apóstrofes (') porque son valores booleanos (verdadero/falso). Si establece las constantes a 'false', se interpretarán como true porque las comillas hacen que sea una cadena en lugar de un booleano.
Activar WP_DEBUG hará que se muestren todos los errores, avisos y advertencias de PHP. Esto es probable que modifique el comportamiento por defecto de PHP que solo muestra errores fatales y/o muestra una pantalla blanca de la muerte cuando se alcanzan errores.
Mostrar todos los avisos y advertencias de PHP a menudo resulta en mensajes de error para cosas que no parecen rotas, pero que no siguen las convenciones de validación de datos apropiadas dentro de PHP. Estas advertencias son fáciles de arreglar una vez que el código relevante ha sido identificado, y el código resultante es casi siempre más resistente a los errores y más fácil de mantener.
Registros de acceso a WordPress
El siguiente código, insertado en su archivo wp-config.php, registrará todos los errores, avisos y advertencias en un archivo llamado debug.log en el directorio wp-content. También ocultará los errores para que no interrumpan la generación de páginas.
Nota: Los valores true y false en el ejemplo no están rodeados por apóstrofes (') porque son valores booleanos (verdadero/falso). Si establece las constantes a 'false', se interpretarán como true porque las comillas hacen que sea una cadena en lugar de un booleano.
Activar WP_DEBUG hará que se muestren todos los errores, avisos y advertencias de PHP. Esto es probable que modifique el comportamiento por defecto de PHP que solo muestra errores fatales y/o muestra una pantalla blanca de la muerte cuando se alcanzan errores.
Mostrar todos los avisos y advertencias de PHP a menudo resulta en mensajes de error para cosas que no parecen rotas, pero que no siguen las convenciones de validación de datos apropiadas dentro de PHP. Estas advertencias son fáciles de arreglar una vez que el código relevante ha sido identificado, y el código resultante es casi siempre más resistente a los errores y más fácil de mantener.