Skip to main content

Los cuatro logs

Límites, y el que no tiene ninguno

conf.example/fireflo.env incluye 5, así que una instalación hecha desde él guarda cinco y una construida a mano guarda uno. Ninguna es errónea; simplemente son diferentes, y vale la pena saber cuál tienes.
httpapi.log no está cubierto por ninguno. Quarkus lo rota diariamente y no ofrece retención a juego con eso. No hay ajuste para ello. Así que escribe un archivo por día y guarda cada uno de ellos para siempre. Nada en la pasarela los eliminará jamás.fireflo-install maneja esto con una regla tmpfiles.d que borra archivos rotados más viejos que --log-retain-days, sin tocar nunca los cuatro en vivo. Instalar a mano significa arreglar eso tú mismo, o aceptar crecimiento sin límite.

Qué omite deliberadamente el log de acceso

httpapi.log registra método, ruta, protocolo, estado, bytes enviados, tiempo de respuesta, referer y user agent. Omite intencionadamente el query string. Las credenciales viajan en una cabecera Authorization en lugar de la URL, pero GET /secure/rate aún toma to y content como parámetros de query, y dlr_url y callback_url son proporcionados por el cliente y rutinariamente llevan tokens propios.
No añadas %U, %r, %q, o %{i,Authorization} a quarkus.http.access-log.pattern. Si lo personalizas, evita %r, %q, %{QUERY_STRING} y %{q,...} a menos que los logs resultantes se traten como datos sensibles.

Flags de diagnóstico que escriben secretos

Los flags de worker log.pdus, log.bytes, print.msgs, print.resps y print.mos están deshabilitados por defecto. Habilitar cualquiera de ellos puede escribir credenciales SMPP, números de teléfono, identificadores de proveedor, URLs de callback y cuerpos de mensajes a los logs.
Para diagnosticar una sesión, prefiere capture sobre log.pdus: una captura está acotada, retenida en memoria, con ámbito a una sola sesión, y expira sola, donde log.pdus escribe los PDUs de cada sesión a un archivo compartido hasta que alguien recuerda apagarlo.

Rastreo del ciclo de vida del mensaje

Los logs del ciclo de vida message.* se controlan por message.trace.mode:

Variables de log de Docker