> Tech > Journalisez, ne déboguez pas

Journalisez, ne déboguez pas

Tech - Par iTPro - 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

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 gratuitement cette ressource

TOP 5 Modernisation & Sécurité des Postes Clients

TOP 5 Modernisation & Sécurité des Postes Clients

Pour aider les entreprises à allier les restrictions liées à la crise et la nécessaire modernisation de leurs outils pour gagner en réactivité, souplesse et sécurité, DIB-France lance une nouvelle offre « Cloud-In-One » combinant simplement IaaS et DaaS dans le Cloud, de façon augmentée.

Tech - Par iTPro - Publié le 09 novembre 2011