0009 — Observabilidade via sentry-logback (SentryAppender)¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-07-07 · Decidido em: 2026-07-07
Contexto. O erro só ia ao Sentry/GlitchTip por captura explícita (Sentry.captureException
espalhado). O plugin io.sentry.jvm.gradle estava aplicado mas inerte (source context e
auto-install desligados).
Decisão. Adotar o recipe da casa: io.sentry:sentry-logback + um SentryAppender no
logback.xml (minimumEventLevel=ERROR) que captura todo log ERROR (inclui exceção
não-tratada) sem tocar o negócio. O plugin io.sentry.jvm.gradle foi removido. Detalhe:
observabilidade.
Consequências / trade-offs.
- O appender não leva
<dsn>: oSentryInitializerfaz oSentry.init()no start (só em prod, comSENTRY_DSN). Sem DSN o Sentry desabilita e o appender vira no-op (não spamma). - O
GlobalExceptionHandlerdeixou de chamarcaptureException(olog.error+ appender já capturam) — evita evento duplicado. - Capturas explícitas seguem válidas onde há semântica (ex.: origens conhecidas no
XadmService).