Votre bot a planté à quatre heures du matin et la console a défilé. Journaliser fait la différence entre « ça a encore cassé » et « ça a cassé à 04:12 dans la commande de tickets, avec cette entrée » — et c'est une dizaine de minutes de travail, une fois.
Passer de rien à utile
- Attrapez ce qui meurt aujourd'hui en silence
En Node,
process.on("unhandledRejection", console.error)etprocess.on("uncaughtException", console.error). En Python, entourez votre point d'entrée et journalisez l'exception. Les morts silencieuses deviennent des raisons. - Écrivez dans un fichier, pas seulement dans la console
La console est une vue en direct qui s'évapore. Un fichier dans le dossier de votre bot est encore là demain, moment où vous regarderez vraiment.
- Horodatez chaque ligne
« Une erreur » ne sert à rien. « Une erreur à 04:12 » se recoupe avec un redémarrage, une panne de Discord, ou l'instant où quelqu'un a lancé une commande.
- Journalisez aux frontières
Quand une commande démarre, quand un appel externe revient, quand quelque chose est écrit. Le milieu de votre code a rarement besoin d'une ligne ; les bords toujours.
Une ligne de débogage qui affiche votre configuration affiche votre jeton, et ce fichier peut finir dans un ticket de support ou une capture. Idem pour le contenu des messages et les identifiants d'utilisateur : journalisez ce dont vous avez besoin pour déboguer, pas tout ce qui traînait dans une variable.
Ce qui mérite d'être journalisé
| Événement | Le journaliser ? |
|---|---|
| Démarrage et connexion réussie | Oui. Cela horodate chaque session. |
| Chaque invocation de commande | Sur un petit bot oui ; sur un bot chargé cela devient du bruit. |
| Chaque erreur, avec sa pile | Toujours. |
| Les appels d'API externes en échec | Oui, avec le code de statut. |
| Le contenu de chaque message vu | Non. Le volume et la vie privée plaident tous deux contre. |
Un bot qui journalise chaque événement écrit en continu. Utilisez une bibliothèque de journalisation qui tourne quotidiennement, ou videz le fichier sur une tâche planifiée. Découvrir qu'un journal a rempli votre disque est une façon évitable de perdre une soirée.
Provoquez une erreur volontaire, redémarrez le bot, et vérifiez que le fichier de journal la contient toujours avec son horodatage.