Aller au contenu

Journalisation des erreurs

Pour une requête sélectionnant une sandbox, le bootstrap définit WP_DEBUG sur true, WP_DEBUG_LOG sur le debug.log de la sandbox et WP_DEBUG_DISPLAY sur false, afin que les erreurs soient écrites dans un fichier propre à la sandbox plutôt que dans le navigateur.

Chacune de ces constantes n’est définie que si wp-config.php ne l’a pas déjà fait, et la ligne du bootstrap se trouve juste au-dessus de la ligne wp-settings.php, après le reste de wp-config.php. Une installation wp-config.php standard définit WP_DEBUG sur false ; sur une telle installation, les requêtes de sandbox ne sont donc pas consignées dans debug.log (issue #4). Pour obtenir des journaux par sandbox, supprimez les définitions de WP_DEBUG, WP_DEBUG_LOG et WP_DEBUG_DISPLAY de wp-config.php. WordPress désactive alors le débogage pour les requêtes de l’hôte, et le bootstrap active la journalisation pour celles des sandboxes.

Consulter les journaux

Shell
wp rudel logs alpha-3be7
wp rudel logs alpha-3be7 --lines=200
wp rudel logs alpha-3be7 --follow

Par défaut, les 50 dernières lignes sont affichées. --follow exécute tail -f sur le fichier.

Effacer les journaux

Shell
wp rudel logs alpha-3be7 --clear

Emplacement des journaux

Le fichier journal se trouve dans le répertoire de la sandbox :

Text
wp-content/rudel-environments/{id}/debug.log

Ce répertoire se trouve dans wp-content, et les serveurs Web le servent comme n’importe quel autre fichier qui s’y trouve. Bloquez l’accès Web aux fichiers *.log et aux répertoires snapshots sous rudel-environments sur tout hôte accessible à des tiers (issue #9).

E-mails bloqués

Les requêtes des sandboxes bloquent les e-mails sortants. Lorsque WP_DEBUG_LOG est défini, chaque message bloqué est consigné avec son destinataire et son objet via error_log(). Il n’est envoyé au debug.log de la sandbox que si la journalisation de débogage est active, comme décrit ci-dessus ; sinon, il est dirigé vers le journal d’erreurs par défaut de PHP.