Écrire le log sur disque
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Avant de boucler notre script, une toute dernière étape assez simple, ça va être d'écrire lelog sur le disque. Pour l'instant on fait tous nos tests directement de notre côté avec le
00:00:09 :terminal mais quand on va mettre le script en production ça va être important de garder unetrace des logs si jamais il y a un problème comme ça on pourra voir ce qui s'est passéprécisément. Donc je vais rouvrir mon composer ici et je vais tout simplement lui dire que je
00:00:22 :veux exporter les fichiers sur disque et je vais préciser que je veux également une rotation dufichier de log pour qu'il ne se devienne pas trop gros donc ça c'est aussi quelque chose qu'on peutfaire comme ça s'il y a un fichier de log qui dépasse une certaine taille et bien il va créer
00:00:35 :un autre fichier de log plutôt que de toujours loguer dans le même fichier qui pourrait devenirassez important. Donc je vais lui dire ça, je veux que tu exportes le log sur le disque plutôt que de
00:00:44 :juste le mettre dans le terminal et également que tu fasses une rotation du fichier de log pourqu'il ne dépasse pas 2 mégas. Donc c'est parfait je lance mon prompt donc il a bien compris qu'il
00:00:54 :fallait utiliser ce RotatingFileHandler qui est la classe qui permet de faire cette rotation dufichier de log. Il est en train de modifier mon fichier main.py pour faire cette modification
00:01:04 :puisque c'est dans ce fichier qu'on a le log et si je descends ici il m'a carrément fait unefonction pour le logging donc il a tout mis à l'intérieur d'une fonction setupLogging puisqueeffectivement il commence à y voir pas mal de choses donc c'est bien il a appris de ses
00:01:17 :erreurs, il n'a pas fait une classe, il s'est contenté d'une fonction, il va créer le dossierde log s'il n'existe pas, il va donc faire un RotatingFileHandler ici avec 2 méga octets etpar défaut il va garder cinq fichiers de backup c'est peut-être un peu beaucoup j'en mettraipeut-être trois et par défaut voilà il va mettre le level à info donc c'est parfait je vais tout
00:01:37 :accepter et là si je relance le script donc l'intérêt de tout ça c'est que cette fois-ci onva avoir notre log qui va être écrit sur le disque donc si je relance le script on a le log qui estaffiché ici dans notre terminal mais également dans le log ici on a un fichier de log qui affiche
00:01:52 :tout ce qu'il se passe avec dans ce cas-ci le info donc là vous devoir si vous voulez le info ou ledébug dans un fichier de log sur le disque ce serait probablement plus intelligent de mettrele débug pour avoir toute la trace de ce qui se passe et pour pouvoir comme ça débuguer en cas
00:02:06 :de besoin si jamais il y a un problème avec la récupération des films. Également si vous regardezle fichier de log vous voyez ici qu'on n'a pas vraiment d'informations sur la ligne de code quidéclenche ce log donc on a des informations comme la date, l'heure et le fichier qui est responsable
00:02:20 :du log mais on n'a pas la ligne donc ça pour débuguer c'est un petit peu problématique donc je vaislui demander de rajouter ça là encore on va utiliser notre IA parce que vous savez que cegenre de choses c'est assez difficile à retenir donc on est devenu très fainéant et pour ça je
00:02:33 :vais pouvoir utiliser ici un edit donc je vais pas refaire dans le composer complet je vais justesélectionner ces lignes ici et faire un edit et dire de rajouter le numéro de la ligne. Donc je
00:02:43 :soumets et là vous voyez qu'il a bien rajouté donc le line number donc vous voyez c'est legenre de choses dont on se souvient pas forcément donc je vais accepter ça donc pourcentage parenthèseline NO donc qui doit signifier number et D ici parce que c'est un digit donc c'est un nombre
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.