Sentry
- Link para pesquisa Documentação Sentry
O que é o Sentry ?
O Sentry é uma aplicação open source escrita em Python para debug de log de erros de aplicações e agregar informações a eles. Apesar de ser escrito em Python o Sentry pode ser usado em PHP, Ruby, Python, Go, Javascript, Elixir, etc. Nossas Aplicações na grande maioria se usa DJANGO, então é necessario deixar claro que a integração do Django adiciona suporte para o Django Web Framework da versão 1.6 para cima.
Instalação em aplicações DJANGO:
No Dockerfile deve ser adicionado no RUN do pip install o pacote do sentry sdk:
sentry-sdk==0.10.2
- Em caso de erro
pip install --upgrade 'sentry-sdk==0.10.2'
Para configurar o SDK, inicialize-o com a integração do Django em seu arquivo settings.py:
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
if os.environ.get("SENTRY_DSN"):
sentry_sdk.init(
dsn=os.environ["SENTRY_DSN"],
integrations=[DjangoIntegration()]
)
Adicione um environment no seu arquivo .env:
SENTRY_DSN=
Pegar o valor do DSN:
Cada aplicação tem seu projeto criado em sentry.geomk.com.br, o próprio sentry se encarrega de gerar o DSN, assim você pode copiar esse DSN e alimentar o SENTRY_DSN. passo a passo:
- entre no site sentry.geomk.com.br.
- Clique na aplicação ou crie uma em add new project.
- Agora clique em settings.
- E vá na guia Client Keys (DSN).
- Ao clicar será listado o valor da DSN da aplicação desejada.
Não quero acompanhar o log de erro da aplicação com o SENTRY o que eu faço? :
Apenas comente o environment do Sentry no .env
#SENTRY_DSN=
Para acompanhamento da função no sentry:
- Adicione um sentry_debug.py em /source/(projeto)/management/commands/
- Dentro do arquivo adicione
from django.core.management.base import BaseCommand
from django.urls import path
class Command(BaseCommand):
def handle(self, *args, **options):
division_by_zero = 1 / 0
- Agora so rodar:
python manage.py sentry_debug