diff --git a/.isort.cfg b/.isort.cfg index d5b27543aa4fbfff99aac25c87805e9a4f9c9e8d..40051662fb4d21148bb4f2c84e389f51a78f37e2 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -4,4 +4,4 @@ line_length = 88 multi_line_output = 3 default_sectiont = "THIRDPARTY" include_trailing_comma = true -known_third_party = arrow,django,environ,faker,ics,modelcluster,pirates,pytest,pytz,requests,snapshottest,taggit,wagtail,wagtailmetadata +known_third_party = arrow,django,environ,faker,ics,modelcluster,pirates,pytest,pytz,requests,sentry_sdk,snapshottest,taggit,wagtail,wagtailmetadata diff --git a/README.md b/README.md index a54ad214bdf75428b223bae07094ea27cf988f7e..cffb51fbaeaad5f95656828834bd8a29b17a989b 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ Různé: | proměnná | default | popis | | --- | --- | --- | | `MAJAK_ENV` | prod | `prod`/`test`/`dev` prostředí kde Maják běží | +| `SENTRY_DSN` | | pokud je zadáno, pády se reportují do Sentry | Settings pro appky na weby: diff --git a/majak/settings/base.py b/majak/settings/base.py index 1c615875701d56a6070de97700eaabfe55f0b6af..9e4003c47823d311c1e1027ca0410a0d92e047ed 100644 --- a/majak/settings/base.py +++ b/majak/settings/base.py @@ -2,6 +2,8 @@ from os.path import join from pathlib import Path import environ +import sentry_sdk +from sentry_sdk.integrations.django import DjangoIntegration ROOT_DIR = Path(__file__).parents[2] PROJECT_DIR = ROOT_DIR / "majak" @@ -179,6 +181,15 @@ CACHES = { CACHES["default"]["TIMEOUT"] = 60 * 60 * 24 CACHES["renditions"]["TIMEOUT"] = 60 * 60 * 24 +# SENTRY +# ------------------------------------------------------------------------------ + +SENTRY_DSN = env.str("SENTRY_DSN", default="") +if SENTRY_DSN: + sentry_sdk.init( + dsn=SENTRY_DSN, integrations=[DjangoIntegration()], send_default_pii=True, + ) + # WAGTAIL SETTINGS # ------------------------------------------------------------------------------ WAGTAIL_SITE_NAME = "Maják" diff --git a/requirements/base.in b/requirements/base.in index 9db5f62381b4a5deca176d7dcc884950dd0cf4f2..1d5c103d1dd94570236659e0da9495ffd32695a7 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -11,3 +11,4 @@ opencv-python requests ics arrow +sentry-sdk diff --git a/requirements/base.txt b/requirements/base.txt index 22a5e171856496382ea17fb45861171b66617eaf..cb3646dd54edcb2771b227a58c9d04072e502fa6 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -7,7 +7,7 @@ arrow==0.14.7 # via -r base.in, ics asgiref==3.2.10 # via django beautifulsoup4==4.8.2 # via wagtail -certifi==2020.6.20 # via requests +certifi==2020.6.20 # via requests, sentry-sdk cffi==1.14.2 # via cryptography chardet==3.0.4 # via requests cryptography==3.1 # via josepy, mozilla-django-oidc, pyopenssl @@ -45,13 +45,14 @@ python-ldap==3.3.1 # via pirates pytz==2020.1 # via django, django-modelcluster, l18n redis==3.5.3 # via django-redis requests==2.24.0 # via -r base.in, mozilla-django-oidc, wagtail +sentry-sdk==0.17.4 # via -r base.in six==1.15.0 # via cryptography, html5lib, ics, josepy, l18n, mozilla-django-oidc, pyopenssl, python-dateutil soupsieve==2.0.1 # via beautifulsoup4 sqlparse==0.3.1 # via django tablib[xls,xlsx]==2.0.0 # via wagtail tatsu==5.5.0 # via ics unidecode==1.1.1 # via wagtail -urllib3==1.25.10 # via requests +urllib3==1.25.10 # via requests, sentry-sdk wagtail-metadata==3.3.0 # via -r base.in wagtail==2.10.1 # via -r base.in, wagtail-metadata webencodings==0.5.1 # via html5lib