Sentry Django tətbiqinin tutulmamış istisnalarını toplayır, onları issue-lara qruplaşdırır, kontekst (istifadəçi, sorğu, release, breadcrumbs) əlavə edir və komandaya xəbər verir. Bu dərsdə sentry-sdk-nı qoşacaq və istehsal üçün tənzimləyəcəyik.
Sentry loglara nə əlavə edir
Log sətri nəyinsə sınmasını bildirir. Sentry isə hər unikal xəta üçün bir issue, neçə istifadəçiyə təsir etdiyini, hansı release-də başladığını, lokal dəyişənlərlə traceback-i və e-poçt və ya Slack bildirişi verir. İkisini birgə istifadə edin: hekayə üçün loglar, həyəcan siqnalı üçün Sentry (bax Django-da logging).
Quraşdırma və init
pip install "sentry-sdk[django]"Sentry-də layihə yaradın, DSN-i kopyalayın və init-i settings.py-in əvvəlində çağırın. Django quraşdırılıbsa, inteqrasiya avtomatik aktivləşir; onu açıq ötürsəniz transaction_style kimi seçimlər təyin edə bilərsiniz.
# settings.py
import os
import sentry_sdk
from sentry_sdk.integrations.django import DjangoIntegration
sentry_sdk.init(
dsn=os.environ.get('SENTRY_DSN'), # None -> SDK stays off
environment=os.environ.get('SENTRY_ENVIRONMENT', 'development'),
release=os.environ.get('GIT_SHA'),
integrations=[DjangoIntegration(transaction_style='url')],
traces_sample_rate=0.1,
send_default_pii=False,
)SENTRY_DSN yoxdursa SDK sönülü qalır və lokal inkişaf heç nə göndərmir. SDK həmçinin SENTRY_DSN, SENTRY_ENVIRONMENT və SENTRY_RELEASE-i mühitdən özü oxuyur.