Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir Symfony3

Utiliser les logs pour trouver une erreur

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Les logs sont une source intéressante d'informations pendant tout le déroulement d'une action de votre application. Voyez comment lire les logs et comprenez-en les subtilités.
04:57

Transcription

Vous avez vu le dump, vous savez maintenant que cet outil, c'est vraiment génial. Mais, il y en a un autre. Cet autre outil, c'est les logs. Ce n'est pas forcément évident de voir un petit peu ce qui se passe dans les logs. C'est vrai qu'ils sont compliqués à lire. Si je vous ouvre un log de dev là, il y a quand même beaucoup d'informations. Pourquoi les logs, c'est intéressant ? Les logs, d'abord, ce qui est bien, c'est que c'est généré au fur et à mesure, c'est-à-dire qu'on voit bien ici que c'est 10:01 si je recharge ma page comme ça, on va retourner de l'autre côté, je vais la recharger. Vous allez voir que du coup, forcément hop, ça vient remettre des informations dans le log. Donc, ici le log vous permet quand même d'avoir les informations en temps réel. Ça, vous pouvez le passer *** dans une console Vous mettez en tail avec la commande tail et tout ça continue à tourner. C'est pas mal surtout quand on fait des gros tests, de monter en charge, de machins, de trucs. On voit pas mal de choses passer à l'intérieur. C'est vrai que comme ça, on ne les lit pas très très bien. Je suis d'accord avec vous. Cela dit, je vous ai montré un panneau. Donc ce panneau est à utiliser un petit peu quand même. Donc on va se rendre dans le panneau de logs-là qu'on n'a pas vraiment passé en revue tout à l'heure. Il faut savoir que quand vous êtes dans les logs ici, d'une trace, attention, c'est toujours ça, d'une trace, donc d'une trace qui a un token. On a des informations et surtout ici, ces informations, elles vont être rangées. C'est-à-dire que le système de log de Symfony, d'abord, il vous permet d'avoir des informations parce qu'il est utilisé pleinement à l'intérieur du corps Symfony. Mais ce qui est bien, c'est que vous allez même, vous, pouvoir l'utiliser. Et il faut savoir que chaque log va être classé dans une catégorie. Les Infos et les Erreurs, les choses qui sont dépréciées. Donc ça, ça pourra vous être utile plus tard si vous faites de la migration vers une prochaine version de Symfony. Vous aurez peut-être des messages ici. Il faudra vraiment faire attention. Le conseil, c'est de ne jamais en avoir. Si vous avez une deprecation là-dedans, vous la supprimez tout de suite. Vous allez au plus vite possible supprimer ça. Et puis, vous pensez à mettre à jour le plus vite possible. Il ne faut surtout pas garder de deprecation parce que ça vous cassera le code au fur et à mesure à un moment donné. Debug, c'est tout le Debug. Alors, tous les debugs sur des Channel. Ça fonctionne comme ça en fait. C'est classé en fonction du type, info, deprecation, debug, les erreurs silencieuses. Et puis ensuite, c'est classé sur un Channel. Donc là, on a un Channel pour la request et un Channel pour la security. Un Channel pour les évènements, par exemple les event. Voilà, tout est bien classé proprement et donc du coup ici, vous allez trouver beaucoup d'informations et ça, c'est bien. Ça, c'est bien parce que par exemple là, la request, elle vous informe : "Tiens, eh eh, j'ai trouvé une route, j'ai trouvé la route my, ah tiens, je te donne aussi son contexte. Voilà, c'est un objet JSON, boom ! Donc, je te donne les paramètres de la route. Il y a un param:1 qui est passé. Le Controller, c'est le MyController::myAction La route s'appelle My. Et puis, ici, je te donne aussi l'URL qui a été appelé. Comme ça, tu as toutes les informations, comme ça tu es tranquille. Et puis derrière, pour la sécurité, elle vous parle aussi. Elle vous dit : "tiens, il n'y avait pas d'utilisateur identifié donc je l'ai créé" je l'ai populated donc je l'ai rempli. On peut traduire ça comme ça. Je l'ai rempli avec un TokenStorage. Comme ça, il est anonymous et puis voilà. Ça, c'est bien. C'est bien parce que vous aurez ici tout un tas d'informations dans les logs qui vous permettent de savoir exactement ce qui s'est passé. À quelle heure, et puis sur quel Channel. Qui vous parle ? Quel est l'objet qui vous parle ? Quelle est la partie du framework qui vous parle. Vous ne pouvez pas être perdus avec ça. Moi, je vous conseille vraiment, quand vous étudiez les logs, de ne pas passer par ça, de ne pas passer par cette partie-là en fait, la partie log pure parce que c'est vrai que elle est un peu rébarbative. Alors, à moins derrière que vous utilisiez une stack particulière. Donc, il existe des piles d'outils qui permettent de gérer ce genre de log par exemple. On peut citer le très bon Elasticsearch avec Kibana, donc c'est Kibana, Elasticsearch et Logstach qui est une stack très très connue par les développeurs donc c'est ELK Vous aurez tout un tas d'articles qui existent sur ça. Ça vous permet de mettre dans un Elasticsearch des informations. Alors, Logstash, ça vous permet de travailler les logs. Elasticsearch, ça vous permet de les stocker parce que Elasticsearch, c'est un moteur de moteur de recherche. Et Kibana, c'est une solution qui vous permet de créer des dashboards à partir des données Elasticsearch. Donc, avec ces trois-là, donc la stack ELK qui est très connue, vous pouvez exploiter des logs comme ça Symfony, les réécrire avec Logstash et puis les mettre dans du Elasticsearch, et après, pourquoi pas, on peut imaginer tout un tas de choses avec les logs. On peut imaginer utiliser les logs comme une source de données et puis, avoir ***, des graphiques, tout un tas de choses. C'est vraiment super sympa. Je vous conseille de vous pencher là-dessus si vous avez besoin du gérer du log, de faire pas mal de choses et de faire des stats à partir de vos applications Symfony. Ça, c'est vraiment génial. En tout cas, là, vous avez un peu toutes les infos possibles. Ne soyez jamais perdus dès qu'il y a une erreur. Allez bien regarder ce qui se passe dans les logs. Allez regarder ce qui se passe dans Request/Response. Allez regarder ce qui se passe à chaque fois dans le Debug si vous en avez mis dans les Exception. Vous pouvez développer des bonnes applications sans jamais être paumés. Ça, c'est clair et net. Vous ne pouvez pas être bloqués avec Symfony je ne vois pas comment c'est possible. Il y a vraiment tous les outils.

Découvrir Symfony3

​Prenez en main Symfony3 pour développer des applications riches. Apprenez à créer des routes et des contrôleurs, créez des formulaires, sauvegardez des données, etc.

3h27 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :7 avr. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !