Découvrir Symfony3

Utiliser le système de logs dans son code

Testez gratuitement nos 1324 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
Le composant de log est utilisable et dispose d'un arsenal que vous allez apprendre à utiliser. Il s'agit de créer des logs dans votre application et de garder des traces.
05:14

Transcription

Alors, on a vu que l'application, elle faisait du log toute seule. Oui. Mais je vous l'ai dit aussi, vous avez la possibilité de logger vous-même eh bien des choses directement dans les logs à partir de votre code. Alors pour ça, on va utiliser un service. On n'a pas encore vraiment parlé des services, c'est vrai. Je vais y revenir un petit peu plus tard puisque je vous montrerai tous les services qui sont disponibles. Sachez simplement que pour aller chercher un service Symfony qui existe ou un service que vous auriez créé vous-même, on ne verra pas ensemble dans cette vidéo-là mais sachez que c'est possible, vous pouvez créer des services. Ça permet d'avoir du code un petit peu mieux rangé, c'est sûr. Vous allez utiliser this get, comme ça. Et à l'intérieur de this get, vous allez mettre une clé qui vous permet de récupérer un service. Alors, le service que l'on va récupérer ensemble, c'est le service logger. Sachez que get, c'est une fonction qui est disponible au travers de Controller que l'on extend. Je vous le rappelle, en extend, la class controller. Donc du coup, ici, le get permet de récupérer un identifiant de service. Et ça l'instancie en passant par le container. Sachez que dans Symfony, il y a un injecteur de dépendance, donc un Dependency Injection Container. En fait, ce container d'injection de dépendance, il va avoir toutes les dépendances à des services qui lui sont enregistrés dessus. Et quand on va en appeler un, hop il va vous l'instancier, il va vous permettre de l'utiliser. Donc ça, c'est génial. ça évite de faire des *** on a la possibilité de récupérer un service très facilement. Ça, on va le placer dans une variable comme ça. Là, on a le service de log. Alors, petite astuce avec l'éditeur PhpStorm. Je ne sais pas trop si on peut le faire avec les autres mais en tout cas avec celui-ci, ça marche. Vous allez me faire ici, hop ! Un petit commentaire au-dessus et puis, vous allez définir @var logger comme ça. Et on va lui donner la class finale. Ce qui est intéressant quand vous faites ça, c'est que vous allez typer la variable, ça va être reconnu par l'éditeur. Donc là, on va lui donner Logger comme ça. En plus, regardez, c'est génial parce qu'il va vous le chercher. Vous faites Entrer. Il va vous mettre use qui va bien ici au-dessus, comme ça. Hop, vous allez pouvoir l'avoir ici. Et ce qui est intéressant derrière avec ça et cette technique, c'est que vous allez avoir l'autocomplétion. Alors que normalement, l'autocomplétion, vous ne l'avez pas. Si vous faites ça, vous allez pouvoir l'avoir. Bon, effectivement, ça fera un petit peu beaucoup de commentaires à chaque fois que vous appellerez des services. Mais malheureusement, PhpStorm n'est pas capable de reconnaitre le service quand vous l'instancier avec this get on va comme ça utiliser du coup la flêche. Et vous allez pouvoir ici aller lui dire eh bien, c'est que vous voulez mettre une alerte, un crit, un critical, du debug, emergency. Donc tout ça, en fait, c'est des mots qu'on va pouvoir utiliser. Si, par exemple, je dis qu'il y a une erreur, et je lui dis que l'erreur, c'est None, comme ça. Eh bien, ça va fonctionner tout seul. Donc ça, vous pouvez en placer un peu partout là où vous avez besoin, d'avoir du log, de conserver des informations. Bien sûr, ce n'est pas la meilleure des techniques. Il existe d'autres possibilités. On peut créer des Channel particuliers, on peut créer un logger avec du formatage comme on en a envie. Tout est paramétrable de toute façon. Et ne vous inquiétez pas, rien n'est jamais compliqué. C'est-à-dire que c'est toujours un petit peu de travail derrière. Pour comprendre un peu comment fonctionnent les services. Ça va assez vite à comprende. Ce n'est pas non plus incroyable. Alors, ici quand vous faites ça, alors si je recharge du coup ma page, hop là, je vais avoir, alors on va se mettre directement sur la dev on va faire My. Et là, regardez, hop, tiens, j'ai ajouté une erreur à mon log. C'est incroyable. Donc là, vous avez bien effectivement plop sur le Channel app oui parce que c'est votre application qui parle. Non, il n'y a pas de Channel particulier ou sécurisé. Si vous voulez aller plus loin avec les logs, n'hésitez pas à aller regarder la doc, il y a une page qui s'appelle : "How to Use Monolog to Write Logs". Donc ça, ça vous permet effectivement d'apprendre un petit peu plus sur Monolog, sur son utilisation. Voilà une situation assez classique. Et puis ensuite, on vous expliquera comment vous pouvez configurer proprement avec de la config. les différents handlers. Donc les handlers, c'est les types de logs qui vont être possible. Donc vous allez pouvoir configurer plein de handlers différents avec des levels particuliers. On voit que les erreurs, que les warnings, que les debugs, etcetera. Et surtout, ici, il y a un petit lien. Alors, je vous montre parce que si vous ne le voyez pas, c'est pas évident à récupérer. C'est celui-là. Vous pouvez créer des Channel Custom. Donc des Channel à vous sur lesquels vous allez communiquer. Donc ça, c'est très très très intéressant. Surtout quand vous allez commencer à vous mettre peut-être à exploiter les logs. Comme je vous ai dit juste avant avec une solution telle que ELK. Ça, ça peut être possible. Ici, vous aurez la possibilité d'en apprendre un petit peu plus sur la création de service particulier pour communiquer sur des channels particuliers. Ça, c'est génial. Ça vous permet d'aller plus loin évidemment. En restant assez basique, vous pouvez utiliser la technique qu'on vient de voir là qui vous permet de placer en tout cas du logger un petit peu partout et de venir logger sur différents types de log. Erreur, Debug, etcetera, sur le Channel app qui représentent votre application. Dans la plupart des cas, ce sera suffisant. Si vous voulez aller plus loin, après. Vous avez toujours la possibilité de le faire. Il ne faut surtout pas hésiter. Je vous encourage à aller le plus loin possible. Allez regarder un petit peu, là, et puis après, casser un peu l'application pour essayer de voir ce qu'on peut faire.

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 !