Logging
faucet se encarga de hacer logs tanto de las solicitudes y respuestas HTTP como
de la salida estándar (stdout
) y la salida de error (stderr
) de los
procesos trabajadores. Esta sección describe cómo funcionan los logs en faucet
y cómo filtrar los logs.
Estructura básica
Todos los logs generados por faucet siguen la siguiente estructura:
[<marca de tiempo> nivel <fuente>] <mensaje>
- La marca de tiempo tiene el formato
AAAA-MM-DDTHH:MM:SSZ
y está en UTC. - El nivel puede ser uno de los siguientes:
ERROR
WARN
INFO
DEBUG
TRACE
- La fuente es ya sea faucet o el nombre del trabajador
Worker::<id>
.
Logging HTTP
Los logs HTTP se registran todos a nivel INFO
. La fuente es el trabajador
encargado de manejar la solicitud. El mensaje tiene la siguiente forma:
<ip> "<método> <ruta> <protocolo>" <estado> "<agente-de-usuario>" <duración>
ip
es la dirección IP del cliente (determinada por la opción--ip-from
).método
es el método HTTP utilizado.ruta
es la ruta de la solicitud.protocolo
es la versión del protocolo HTTP utilizada.estado
es el código de estado HTTP devuelto.agente-de-usuario
es el agente de usuario del cliente.duración
es el tiempo que tomó manejar la solicitud en milisegundos.
Logging de trabajadores
Los logs de trabajadores se dividen en dos componentes: stdout
y stderr
.
stdout
se loggea a nivel INFO
y stderr
se loggea a nivel WARN
. La
fuente es el trabajador que posee el proceso subyacente. El mensaje es la línea
de salida del proceso.
Filtrado de logs
Por defecto, faucet logea a nivel INFO
, lo que significa que se muestran los
logs de ERROR
, WARN
e INFO
. Para cambiar el nivel de log, utilice la
variable de entorno FAUCET_LOG
.
Nota: Plumber imprime errores que ocurren en puntos finales en
stdout
, por lo que si desea ver esos errores, deberá establecer el nivel de log enINFO
o inferior. Shiny, por otro lado, imprime errores enstderr
, por lo que deberá establecer el nivel de log enWARN
o inferior para ver esos errores.