Sentry-javascript: Como desabilitar o Sentry novamente em tempo de execução?

Criado em 25 abr. 2019  ·  14Comentários  ·  Fonte: getsentry/sentry-javascript

Pacote + Versão

  • [x] @sentry/browser
  • [] @sentry/node
  • [] raven-js
  • [] raven-node _ (raven para o nó) _
  • [ ] de outros:

Descrição

Permitimos habilitar ou desabilitar o relatório de erros em nossa extensão do navegador (que é necessária para o GDPR). Um script de plano de fundo das extensões do navegador é de longa execução (não é executado novamente no recarregamento da página), então quando o relatório de erros é desabilitado, precisamos desabilitar o Sentry depois que ele já foi habilitado com Sentry.init() . Vejo que há Sentry.init({ enabled: false }) mas não parece legal chamar Sentry.init() duas vezes. Como posso desabilitar o Sentry depois que ele foi habilitado antes, em tempo de execução?

Comentários muito úteis

Conforme descrito na descrição do problema, precisamos permitir que os usuários optem por receber ou não relatórios de erros por motivos de privacidade. Algo que não está claro? Fico feliz em fornecer mais informações, mas não tenho certeza do que você está procurando

Todos 14 comentários

SentryBrowser.getCurrentHub().getClient().getOptions().enabled

Isso me dá o valor atual, mas como faço para _alterá-lo?

Sentry.getCurrentHub().getClient().getOptions().enabled = false; 😅

E só para ter certeza, isso fará com que o Sentinela pare de enviar qualquer coisa para os servidores do Sentinela?

Você poderia considerar isso uma solicitação de recurso para algo mais explícito ou, pelo menos, uma solicitação de documentação oficial?

@felixfbecker Claro, você pode explicar por que precisa disso?
É algum tipo de "Pedir permissão ao usuário para enviar relatórios de falhas?"?

Conforme descrito na descrição do problema, precisamos permitir que os usuários optem por receber ou não relatórios de erros por motivos de privacidade. Algo que não está claro? Fico feliz em fornecer mais informações, mas não tenho certeza do que você está procurando

@felixfbecker Desculpe, ainda não totalmente acordado 😅 deveria ter lido a edição inicial.
Vamos adicionar algo como Sentry.setEnabled(boolean) , faz todo o sentido ter algo assim. Também recebemos alguns relatórios para outros SDKs.

Apenas para registro, existem outras maneiras de lidar com isso (por exemplo, beforeSend ) além do que Kamil postou, mas nem todas são realmente convenientes.

Por que este problema foi encerrado se esta solicitação de recurso está em andamento?

Alguma atualização sobre o fornecimento de Sentry.setEnabled(boolean) para ativar / desativar relatórios de erros?

No Raven, acho que você tinha shouldSendCallback para alternar os relatórios

No Raven, acho que você deveria enviar Callback para alternar os relatórios

Sentry.init({
  beforeSend(event) {
    if (shouldSendEvent) return event;
    return null;
  }
});

Alguma atualização sobre o fornecimento de Sentry.setEnabled (booleano) para ativar / desativar relatórios de erros?

Qual é o seu caso de uso especificamente? Já é possível descartar e / ou habilitar / desabilitar o SDK condicionalmente.

Obrigado, não consegui encontrar nos documentos se realmente enviar null impediria o sdk de relatar erros. isso resolve meu caso de uso

@diegolanda https://docs.sentry.io/error-reporting/configuration/?platform=go#before -send mas concordo que nothing não é específico o suficiente para javascript 😅

Esta página foi útil?
0 / 5 - 0 avaliações