diff --git a/config/settings/base.py b/config/settings/base.py index 8b1f833..8a5b5e6 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -13,6 +13,9 @@ import os from pathlib import Path +import sentry_sdk +from sentry_sdk.integrations.logging import ignore_logger + # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent.parent @@ -172,3 +175,7 @@ # media files MEDIA_ROOT = os.path.join(APPS_DIR, "media") MEDIA_URL = "/media/" + +# Sentry +sentry_sdk.init() # Read from SENTRY_DSN and SENTRY_ENVIRONMENT +ignore_logger("django.security.DisallowedHost") diff --git a/requirements/base.in b/requirements/base.in index d28c72e..0d08c6b 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -13,3 +13,5 @@ Markdown # https://python-markdown.github.io/ # Embedding Metabase signed dashboards PyJWT # https://github.com/jpadilla/pyjwt + +sentry-sdk # https://github.com/getsentry/sentry-python diff --git a/requirements/base.txt b/requirements/base.txt index 8fb84fe..c936366 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,6 +4,10 @@ asgiref==3.8.1 \ --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \ --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590 # via django +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe + # via sentry-sdk django==5.1.7 \ --hash=sha256:1323617cb624add820cb9611cdcc788312d250824f92ca6048fda8625514af2b \ --hash=sha256:30de4ee43a98e5d3da36a9002f287ff400b43ca51791920bfb35f6917bfe041c @@ -210,7 +214,15 @@ rjsmin==1.2.2 \ --hash=sha256:e0e009f6f8460901f5144b34ac2948f94af2f9b8c9b5425da705dbc8152c36c2 \ --hash=sha256:e733fea039a7b5ad7c06cc8bf215ee7afac81d462e273b3ab55c1ccc906cf127 # via django-compressor +sentry-sdk==2.22.0 \ + --hash=sha256:3d791d631a6c97aad4da7074081a57073126c69487560c6f8bffcf586461de66 \ + --hash=sha256:b4bf43bb38f547c84b2eadcefbe389b36ef75f3f38253d7a74d6b928c07ae944 + # via -r requirements/base.in sqlparse==0.5.3 \ --hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \ --hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca # via django +urllib3==2.3.0 \ + --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df \ + --hash=sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d + # via sentry-sdk diff --git a/requirements/dev.txt b/requirements/dev.txt index 3dcd0b5..9150322 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -6,6 +6,12 @@ asgiref==3.8.1 \ # via # -r requirements/base.txt # django +certifi==2025.1.31 \ + --hash=sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651 \ + --hash=sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe + # via + # -r requirements/base.txt + # sentry-sdk click==8.1.8 \ --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \ --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a @@ -452,6 +458,10 @@ ruff==0.9.9 \ --hash=sha256:b6cd1428e834b35d7493354723543b28cc11dc14d1ce19b685f6e68e07c05ec7 \ --hash=sha256:d7c62939daf5b2a15af48abbd23bea1efdd38c312d6e7c4cedf5a24e03207e17 # via -r requirements/dev.in +sentry-sdk==2.22.0 \ + --hash=sha256:3d791d631a6c97aad4da7074081a57073126c69487560c6f8bffcf586461de66 \ + --hash=sha256:b4bf43bb38f547c84b2eadcefbe389b36ef75f3f38253d7a74d6b928c07ae944 + # via -r requirements/base.txt six==1.17.0 \ --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \ --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81 @@ -469,3 +479,9 @@ tqdm==4.67.1 \ --hash=sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2 \ --hash=sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2 # via djlint +urllib3==2.3.0 \ + --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df \ + --hash=sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d + # via + # -r requirements/base.txt + # sentry-sdk