Documentation · Chapitre 06

Comprendre une panne
sans exposer le serveur.

Le mode debug sert au développement. Les journaux gardent la trace technique nécessaire pour enquêter.

Aucun secret réel n’est nécessaire : nous configurons reading-list avec des valeurs sûres.

Deux contextes, deux niveaux de détail

APP_DEBUG=true

Sur votre ordinateur : message, fichier, ligne et trace peuvent aider à corriger.

APP_DEBUG=false

Sur le site public : le visiteur reçoit une explication sûre, sans chemins ni trace interne.

Le journal raconte l’incident

Par défaut, les erreurs vont dans runtime/storage/logs/application.log. Chaque ligne JSON contient l’heure, le niveau, le message et le contexte. Les champs sensibles courants sont remplacés par [REDACTED].

phpaml — zsh
{
  "level": "error",
  "message": "Unhandled application exception",
  "context": {
    "request_id": "a13f…",
    "method": "GET",
    "path": "/books",
    "exception": "RuntimeException"
  }
}

L’identifiant relie la page au journal

PHPAML ajoute X-Request-ID à la réponse. Lors d’une erreur inattendue, un identifiant apparaît dans la page sûre et dans le journal. L’utilisateur peut transmettre cet identifiant sans révéler les détails internes.

Ne journalisez jamais un mot de passe

Le masquage reconnaît des clés sensibles, mais un secret placé dans un texte libre peut encore être enregistré.