Skip to main content

Les quatre logs

Bornes — et celui qui n’en a pas

conf.example/fireflo.env livre 5, donc une installation faite à partir de là en conserve cinq et une construite à la main en conserve une. Aucune n’est erronée ; elles sont juste différentes, et il vaut la peine de savoir laquelle vous avez.
httpapi.log n’est couvert par aucune. Quarkus le fait tourner quotidiennement et n’offre aucune rétention avec — il n’y a aucun paramètre pour cela — donc il écrit un fichier par jour et les garde tous pour toujours. Rien dans la passerelle ne les supprimera jamais.fireflo-install gère ceci avec une règle tmpfiles.d qui supprime les fichiers roulés plus anciens que --log-retain-days, sans jamais toucher aux quatre en direct. Installer à la main signifie arranger cela vous-même, ou accepter une croissance illimitée.

Ce que le log d’accès omet délibérément

httpapi.log enregistre méthode, chemin, protocole, statut, octets envoyés, temps de réponse, referer et user agent. Il omet intentionnellement la query string. Les identifiants voyagent dans un en-tête Authorization plutôt que dans l’URL, mais GET /secure/rate prend encore to et content comme paramètres de query, et dlr_url et callback_url sont fournis par le client et portent régulièrement des tokens qui leur sont propres.
N’ajoutez pas %U, %r, %q, ou %{i,Authorization} à quarkus.http.access-log.pattern. Si vous le personnalisez, évitez %r, %q, %{QUERY_STRING} et %{q,...} sauf si les logs résultants sont traités comme des données sensibles.

Drapeaux de diagnostic qui écrivent des secrets

Les drapeaux de worker log.pdus, log.bytes, print.msgs, print.resps et print.mos sont désactivés par défaut. En activer un peut écrire des identifiants SMPP, des numéros de téléphone, des identifiants de fournisseur, des URLs de callback et des corps de message dans les logs.
Pour diagnostiquer une session, préférez capture à log.pdus : une capture est bornée, retenue en mémoire, cantonnée à une seule session, et expire d’elle-même, là où log.pdus écrit les PDUs de chaque session dans un fichier partagé jusqu’à ce que quelqu’un se souvienne de l’éteindre.

Traçage du cycle de vie des messages

Les logs de cycle de vie message.* sont contrôlés par message.trace.mode :

Variables de log Docker