> Tech > Journalisez, ne déboguez pas

Journalisez, ne déboguez pas

Tech - Par Renaud ROSSET - Publié le 09 novembre 2011
email


Je n'ai jamais été chaud partisan des débogueurs visuels. À tel point qu'avant d'animer des sessions de formation et de tutorat, j'ai souvent dû me remettre en tête les débogueurs disponibles. Vous vous demandez peut-être comment écrire un code de qualité production sans débogueur : j'utilise

Journalisez, ne déboguez pas

les fonctions de la journalisation, laquelle est une pratique de développement courante. Si vous disséquez le code de la plupart des logiciels open source connus, vous y verrez une abondante journalisation.

Que reproche-t-on aux débogueurs visuels ? Tout simplement que le temps consacré à mettre en place une session de débogage ne sert plus à rien, aussitôt le bogue trouvé et corrigé. Tandis qu’avec la journalisation, vous mettez les instructions de logging dans le code au fur et à mesure que vous programmez, ainsi que pendant les sessions de débogage. Ajoutées au code durant une session de débogage, de telles instructions ne sont jamais perdues.

Les instructions log écrivent généralement dans un fichier texte, mais aussi parfois à la console ou dans un job log AS/400. Comme la journalisation peut créer des fichiers log volumineux et encombrants, susceptibles de ralentir la vitesse d’exécution, les frameworks de journalisation ont plusieurs niveaux. Ainsi, le framework de journalisation de Zend a les niveaux suivants : EMERG, ALERT, CRIT, ERR, WARN, NOTICE, INFO, DEBUG. Chaque instruction de logging dans votre code spécifie l’un des niveaux. Ensuite, dans le fichier de configuration php.ini, vous définissez le niveau concernant le serveur. Quand une instruction log est rencontrée à l’exécution, le message est journalisé si le niveau dans le fichier php.ini est supérieur ou égal au niveau spécifié dans l’instruction de logging. Pendant le développement, le niveau de logging de php.ini est réglé sur DEBUG. En production, il est généralement sur WARN. Mais, en cas de problème en production, vous pouvez simplement changer le niveau de log php.ini en DEBUG. Il est très commode de trouver la cause d’un problème en consultant simplement un fichier log.

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 09 novembre 2011