From 5e14ffefb7ab75fdb201ffe005777a33f9a29dee Mon Sep 17 00:00:00 2001 From: Jeremy Satterfield Date: Tue, 25 Aug 2020 16:02:00 +0000 Subject: [PATCH] add sentry configs --- .env | 5 +++++ base_app/settings.py | 26 ++++++++++++++++++++++++++ requirements.txt | 1 + setup.cfg | 3 +++ 4 files changed, 35 insertions(+) diff --git a/.env b/.env index a773a23..d84df0b 100644 --- a/.env +++ b/.env @@ -57,4 +57,9 @@ DEBUG=True #LOG_FORMAT= #LOG_FORMATTER=plain #LOG_LEVEL=DEBUG +#SENTRY_DSN= +#SENTRY_ENVIRONMENT=development +#SENTRY_EVENT_LEVEL=ERROR +#SENTRY_LOG_LEVEL=INFO #USE_DATADOG=True +#USE_SENTRY=True diff --git a/base_app/settings.py b/base_app/settings.py index 1204aa8..aa994c2 100644 --- a/base_app/settings.py +++ b/base_app/settings.py @@ -13,6 +13,7 @@ BASE_URL = env.str('BASE_URL', default='localhost') TESTING = env.bool('TESTING', default=False) USE_DATADOG = env.bool('USE_DATADOG', default=False) +USE_SENTRY = env.bool('USE_SENTRY', default=False) ######### # DJANGO SETTINGS @@ -183,6 +184,31 @@ cache_logger_on_first_use=True, ) +######### +# SENTRY +######### +if USE_SENTRY: + import sentry_sdk + from sentry_sdk.integrations.celery import CeleryIntegration + from sentry_sdk.integrations.django import DjangoIntegration + from sentry_sdk.integrations.logging import LoggingIntegration + + logging_integration = LoggingIntegration( + level=getattr(logging, env.str('SENTRY_LOG_LEVEL', default='INFO')), + event_level=getattr(logging, env.str('SENTRY_EVENT_LEVEL', default='ERROR')), + ) + + sentry_sdk.init( + dsn=env.str('SENTRY_DSN', default=''), + environment=env.str('SENTRY_ENVIRONMENT', default='development'), + integrations=[ + DjangoIntegration(), + CeleryIntegration(), + logging_integration, + ], + send_default_pii=True, + ) + ######### # DATADOG ######### diff --git a/requirements.txt b/requirements.txt index 4cc57b8..e05142b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,6 +20,7 @@ uvicorn # tracking datadog ddtrace +sentry-sdk # tests, linting, code quality bandit diff --git a/setup.cfg b/setup.cfg index f8691fa..fbb556f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -102,6 +102,9 @@ ignore_missing_imports = true [mypy-pythonjsonlogger.*] ignore_missing_imports = true +[mypy-sentry_sdk.*] +ignore_missing_imports = true + [mypy-structlog.*] ignore_missing_imports = true