Class SentryInitializer
Deve ser chamado pelo main do app antes de subir o contexto Micronaut.
Inicializar cedo (antes do logback) garante que o SentryAppender declarado em
logback.xml encontre o Sentry já habilitado: o appender não emite o aviso
"DSN is null" e a auto-inicialização dele — que usaria InitPriority.LOWEST —
vira no-op diante desta init.
Configuração (variáveis de ambiente)
Como roda antes do Micronaut, a configuração vem de variáveis de ambiente, não do
application.yml:
SENTRY_DSN— DSN do projeto no Bugsink. Ausente ou vazio desabilita o Sentry (dev e testes não enviam nada).GLITCHTIP_DSNé aceito como fallback (nome antigo, em transição).SENTRY_ENVIRONMENT— ambiente reportado (productionse ausente).SENTRY_RELEASE— versão do release (opcional).SENTRY_TRACES_SAMPLE_RATE— taxa de amostragem de tracing (0.0se ausente ou inválida).CLIENTE— identificador do cliente (multi-tenant). Quando não-branco, vira a tagclienteem todo evento, permitindo filtrar/agrupar por cliente num único projeto Bugsink. Ausente/branco (deploy single-tenant) → nenhuma tag é setada.MICRONAUT_ENVIRONMENTS— quando contém o tokendevoutest, a init é um no-op explícito (não envia nada; dev não tem DSN, testes usam@MicronautTeste não chamam este método).
Todo evento leva contexto de request (PII: IP, headers) — setSendDefaultPii(true). O
Bugsink é self-hosted, então esse dado fica na infra interna.
Captura de erros: o SentryAppender (logback) envia ao Bugsink todo log de nível
ERROR — incluindo a exceção, quando ela é passada ao logger.
O SDK do Sentry é uma dependência compileOnly desta lib: quem chama inicializar() deve trazer o Sentry no classpath (os apps já trazem sentry-logback).
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringDispara um evento de teste para o Bugsink — usado pelo botão de diagnóstico do app.static StringReturns ambiente reportado nos eventos (SENTRY_ENVIRONMENT); vazio se desabilitado.static StringReturns endpoint do Bugsink (host/projeto, sem a chave); vazio se desabilitado.static voidLê as variáveisSENTRY_*/CLIENTEe inicializa o SDK do Sentry/Bugsink.static boolean
-
Method Details
-
inicializar
public static void inicializar()Lê as variáveisSENTRY_*/CLIENTEe inicializa o SDK do Sentry/Bugsink. É um no-op quandoMICRONAUT_ENVIRONMENTScontémdev/test(dev não tem DSN; testes não chamam omain) ou quandoSENTRY_DSNestá ausente — nesses casos só registra um log. Falhas de inicialização são logadas e engolidas — error tracking indisponível não deve impedir o app de subir. -
dispararEventoTeste
Dispara um evento de teste para o Bugsink — usado pelo botão de diagnóstico do app. Captura uma exceção sintética e bloqueia até o flush (ou 3s) para dar ao operador um feedback honesto de entrega.- Returns:
- o event id do Bugsink, ou string vazia quando o Sentry está desabilitado.
-
isHabilitado
public static boolean isHabilitado()- Returns:
truese oSentry.initrodou com DSN — verinicializar()
-
getAmbiente
Returns ambiente reportado nos eventos (SENTRY_ENVIRONMENT); vazio se desabilitado.- Returns:
- ambiente reportado nos eventos (
SENTRY_ENVIRONMENT); vazio se desabilitado
-
getEndpoint
Returns endpoint do Bugsink (host/projeto, sem a chave); vazio se desabilitado.- Returns:
- endpoint do Bugsink (
host/projeto, sem a chave); vazio se desabilitado
-