簡體   English   中英

Sentry + Laravel:如何記錄已經捕獲的異常?

[英]Sentry + Laravel: how to log an already catched Exception?

我們在很多項目中使用 Laravel(5.x 到 7.x),並且都與 Sentry 集成。

在某些邊緣情況下,我們需要捕獲一些可恢復的異常,以允許頁面在使用回退時流向 go,但我們也希望將這些捕獲的異常記錄到哨兵。

我找不到手動登錄到 Sentry 的記錄或未記錄的方式。

有沒有辦法將已經捕獲的異常記錄到哨兵?

^ 這是這樣做的方法。

如果您想使用 Laravel 容器,它可能看起來更像這樣:

try {
    // your code that could throw an exception
} catch (\Throwable $e) {
    if (app()->bound('sentry')) {
        app('sentry')->captureException($e);
    }
}

您還可以使用 which 也應該將異常記錄到您的日志文件中:

try {
    // your code that could throw an exception
} catch (\Throwable $e) {
    report($e); // this is a Laravel helper, not from Sentry
}

此外,您可以手動使用 Sentry 的助手 - 源代碼在這里

\Sentry\captureMessage("This handle a text message");

// this handle everything derives from \Exception
\Sentry\captureException($e);

這是在文檔中: https://docs.sentry.io/platforms/php/#capturing-errors

您可以使用Sentry\captureException方法:

try {
    $this->functionFailsForSure();
} catch (\Throwable $exception) {
    Sentry\captureException($exception);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM