Déboguage

Logs

Galette écrit dans des fichiers de log (un par jour) stockés dans galette/data/logs si vous n’avez pas modifié la configuration des chemins. Gardez en tête que certaines erreurs seront affichées uniquement des les logs système de PHP.

Le niveau de verbosité est défini sur INFO sur une installation standard ; vous pouvez ref:modifier le niveau de verbosité des logs <behavior>.

Note

L’écriture dans les logs consomme des ressources (écriture sur disque). Plus les logs sont verbeux, plus Galette sera « lent ».

Merci de noter aussi que certaines données « sensibles » pourraient être enregistrées dans les logs. Le mode DEBUG par exemple enregistre toutes les requêtes envoyées à la base de données !

Plusieurs niveaux de verbosité des logs existant, vous pourrez trouver de nombreux exemples dans le code source.Ils sont définis par la bibliothèque de logs (Analog), du plus critique au moins critique :

  • URGENT
  • ALERT
  • CRITICAL
  • ERROR
  • WARNING
  • NOTICE
  • INFO
  • DEBUG

Modes de Galette

Plusieurs modes sont fournis dans Galette que vous pouvez configurer avec la constante GALETTE_MODE (voir la configuration du comportement de Galette). Cette directive peut prendre les valeurs suivantes :

  • PROD : mode production (les instances qui ne sont pas en production devraient utiliser un autre mode). C’est le mode par défaut dans les releases, mais il peut changer dans la version de développement.
  • DEV : mode développement :
    • les parties non terminées ou instables seront activées,
    • certaines données ne seront pas stockées en session,
    • le niveau de verbosité des logs est défini à DEBUG,
    • les nouvelles ne seront pas cachées,
    • la vérification de la version de la base de données ne sera pas effectuée.
  • DEMO : mode démonstration, le même que PROD mais avec certaines fonctionnalités désactivées comme l’envoi de courriels, la modification des informations du super administrateur, …
  • TEST : réservé aux tests unitaires.
  • MAINT : mode maintenance. Seul le super admin pourra se connecter.

Configuration du comportement

Il est possible de modifier certains comportements de Galette :

  • GALETTE_MODE: voir les modes de Galette ;
  • GALETTE_DISPLAY_ERRORS : true pour afficher les détails des erreurs sur la page. Fortement déconseillé pour les environnements de production ! Vous ne verrez pas les erreurs s’il y a une redirection des routes… Et il y en a pas mal.
  • GALETTE_SYS_LOG : true demande à Galette d’utiliser les logs système pour ses propres erreurs ;
  • GALETTE_LOG_LVL : niveau de log ;
  • NON_UTF_DBCONNECT : désactive la connection explicite en UTF8 à la base de données (pour les utilisateurs qui rencontrent des problèmes d’encodage).

Avertissement

GALETTE_SYS_LOG utile seulement avec mod_php. Si vous utilisez FPM, vous devrez définir catch_worker_output à yes dans votre configuration ; ce qui enverra les entrées dans le log principal de FPM (pas celui du pool)).

Vous pouvez ajouter ces directives via config/behavior.inc.php.

Par exemple :

<?php
define('GALETTE_MODE', 'DEV');
define('GALETTE_DISPLAY_ERRORS', true);
define('GALETTE_SYS_LOG', true);
define('GALETTE_LOG_LVL', 7);