safely do
# keep going if this code fails
end
يتم إنقاذ الاستثناءات وإبلاغها تلقائيًا بخدمة التقارير المفضلة لديك.
في بيئات التطوير والاختبار ، يتم رفع الاستثناءات حتى تتمكن من إصلاحها.
اقرأ المزيد
أضف هذا السطر إلى Gemfile في التطبيق الخاص بك:
gem "safely_block"
"أوه لا ، أسقطت التحليلات البحث"
safely { track_search ( params ) }
"توقفت التوصيات عن التحديث بسبب مستخدم سيء واحد"
users . each do | user |
safely ( context : { user_id : user . id } ) { update_recommendations ( user ) }
end
أيضا مستعار كما yolo
تمرير سياق إضافي ليتم الإبلاغ عنه مع استثناءات
safely context : { user_id : 123 } do
# code
end
حدد قيمة افتراضية للعودة على الاستثناءات
show_banner = safely ( default : true ) { show_banner_logic }
رفع استثناءات محددة
safely except : ActiveRecord :: RecordNotUnique do
# all other exceptions will be rescued
end
تمرير صفيف لفئات استثناء متعددة.
إنقاذ استثناءات محددة فقط
safely only : ActiveRecord :: RecordNotUnique do
# all other exceptions will be raised
end
استثناءات الصمت
safely silence : ActiveRecord :: RecordNotUnique do
# code
end
تقارير الخانق مع:
safely throttle : { limit : 10 , period : 1 . minute } do
# reports only first 10 exceptions each minute
end
ملاحظة: الحد الأقصى للخانق تقريبي وبعيدًا.
تقارير استثناءات لمجموعة متنوعة من الخدمات خارج الصندوق.
ملاحظة: لا يتم دعم السياق مع Google StackDriver و Scout APM
تخصيص التقارير مع:
Safely . report_exception_method = -> ( e ) { Rollbar . error ( e ) }
مع القضبان ، يمكنك إضافة هذا في مُهيئ.
افتراضيًا ، يتم تدوين رسائل الاستثناء بـ [safely]
. هذا يجعل من السهل اكتشاف الاستثناءات التي تم إنقاذها. أطفئ هذا مع:
Safely . tag = false
للإبلاغ عن الاستثناءات يدويًا:
Safely . report_exception ( e )
لحماية خصوصية المستخدمين ، لا ترسل البيانات الشخصية إلى خدمات الاستثناء. تصفية حقول النماذج الحساسة ، واستخدام معرفات (وليس عناوين البريد الإلكتروني) لتحديد المستخدمين ، وإخفاء عناوين IP.
مع Rollbar ، يمكنك القيام:
Rollbar . configure do | config |
config . person_id_method = "id" # default
config . scrub_fields |= [ :birthday ]
config . anonymize_user_ip = true
end
أثناء العمل على استثناءات ، كن على دراية بالبيانات الشخصية وصحبة حسب الحاجة.
عرض changelog
يتم تشجيع الجميع على المساعدة في تحسين هذا المشروع. فيما يلي بعض الطرق التي يمكنك من خلالها المساعدة:
للبدء في التنمية والاختبار:
git clone https://github.com/ankane/safely.git
cd safely
bundle install
bundle exec rake test