اذهب إلى المحتوى

السؤال

نشر

أقوم باستخدام Sentry.io مع لارافل، وأحاول تطبيق آلية إرسال الأخطاء التي قد تحدث ضمن queue إلى sentry من خلال التابع التالي:

app('sentry')->captureException($exception);

ولكن أين يجب أن أقوم باستخدامه حتى يتم إرسال الأخطاء التي قد تحدث ضمن queue بشكل أوتوماتيكي فقط عند الفشل؟ بحيث يتم التقاط خطأ الفشل وإرساله.

Recommended Posts

  • 0
نشر

بداخل الوظيفة او job يمكنك استخدام التابع failed() وبداخل التابع يمكنك استخدام الكود الذي وضعته بالاعلى

public function failed(\Exception $exception)
{
    app('sentry')->captureException($exception);
}

يمكنك معرفة المزيد عن التعامل مع المهام الفاشلة من هنا

  • 0
نشر

بعد تثبيت الحزمة sentry من خلال الأمر التالي 

composer require sentry/sentry-laravel

يمكنك في ملف 

App/Exceptions/Handler.php

تعديل الدالة و إضافة التالي 

public function register()
{
    $this->reportable(function (Throwable $e) {
        if ($this->shouldReport($e) && app()->bound('sentry')) {
            app('sentry')->captureException($e);
        }
    });
}

ثم تقوم بتنفيذ الأمر التالي 

php artisan sentry:publish --dsn=https://examplePublicKey@o0.ingest.sentry.io/0

طبعا  تقوم في ملف env. من وضع التالي 

SENTRY_LARAVEL_DSN=https://examplePublicKey@o0.ingest.sentry.io/0

ثم تقوم بتنفيذ الأمر التالي 

php artisan sentry:test --transaction

ثم تنشأ مسار للتحقق 

Route::get('/debug-sentry', function () {
    throw new Exception('My first Sentry error!');
});

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...