> ## Documentation Index
> Fetch the complete documentation index at: https://docs.followw.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Observability

# Logs da API

A API emite um JSON por linha em stderr, pelo logger `followw`. Cada requisição recebe um
`request_id` gerado internamente, compartilhado por seus eventos.

* `request.started` / `request.completed`: método, rota parametrizada, status e duração.
* `sigaa.connect.*` / `sigaa.logout.*`: abertura e encerramento da sessão do SIGAA.
* `queue.publish.*`: publicação e quantidade de jobs.
* `job.*`: tentativa, quantidade de etapas e resultado da execução.
* `sync.task.*`: início, fim ou falha de cada tarefa, incluindo as subtarefas da conta.

Eventos de conclusão e falha de operações incluem `duration_ms`, o tempo decorrido (inclui espera de
rede e banco; não é uma medição de CPU). Falhas incluem somente `error_type`. Um job pode terminar
normalmente com etapas que falharam: `job.result.failed_count` informa isso, e
`sync.task.retry_pending` identifica a etapa. Cada entrega de job tem seu próprio `request_id`.

O módulo `api/logger.py` aceita apenas metadados operacionais definidos em sua lista de campos. Não
passe valores sensíveis nos campos permitidos: os nomes de eventos e tarefas são constantes do
código. Cookies, cabeçalhos, corpos, parâmetros de URL, credenciais, objetos de job e
mensagens/tracebacks de exceções não são registrados.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.