qmas/sneaker

为Laravel应用程序,当服务器上发生异常时,以堆栈跟踪发送电子邮件的简单方法。

v8.0 2021-01-18 09:03 UTC

README

为Laravel应用程序,当服务器上发生异常时,以堆栈跟踪发送电子邮件的简单方法。

sneaker example image

安装

通过Composer安装

对于Laravel <= 5.2,请使用 v1分支

$ composer require qmas/sneaker

配置Laravel

如果您使用的是 laravel 5.5 或更高版本,应跳过此步骤。

如果您使用的是laravel 5.3或5.4,只需将服务提供者添加到您的项目 config/app.php 文件中

服务提供者

Qmas\Sneaker\SneakerServiceProvider::class,

添加Sneaker的异常捕获

将异常捕获添加到 app/Exceptions/Handler.php

public function report(Exception $exception)
{
    app('sneaker')->captureException($exception);

    parent::report($exception);
}

配置文件

使用此命令创建Sneaker配置文件

$ php artisan vendor:publish --provider="Qmas\Sneaker\SneakerServiceProvider"

配置文件将发布在 config/sneaker.php

以下是Sneaker使用的配置属性。

silent

默认情况下,该软件包包含 'silent' => true, 配置,因为您可能不想在开发环境中启用错误邮件。特别是如果您已设置 'debug' => true,

'silent' => env('SNEAKER_SILENT', true),

要发送异常发生时的电子邮件,请在您的 .env 文件中设置 SNEAKER_SILENT=false

capture

它包含应捕获的异常类型列表。您可以在此处添加您希望发送错误邮件的异常。

默认情况下,该软件包已包含 Symfony\Component\Debug\Exception\FatalErrorException::class

'capture' => [
    Symfony\Component\Debug\Exception\FatalErrorException::class,
],

您也可以在 $capture 数组中使用 '*',这反过来又捕获了每个异常。

'capture' => [
    '*'
],

要使用此功能,您应在 app/Exceptions/Handler.php 中添加以下代码

public function report(Exception $exception)
{
    if ($this->shouldReport($exception)) {
        app('sneaker')->captureException($exception);
    }

    parent::report($exception);
}

这是错误邮件的收件人列表。

'to' => [
    // 'hello@example.com',
],

ignored_bots

这是不应发送错误邮件的机器列表。

'ignored_bots' => [
    'googlebot',        // Googlebot
    'bingbot',          // Microsoft Bingbot
    'slurp',            // Yahoo! Slurp
    'ia_archiver',      // Alexa
],

自定义

如果您需要自定义邮件的主题和正文,请运行以下命令

$ php artisan vendor:publish --provider="Qmas\Sneaker\SneakerServiceProvider"

注意 - 如果您已经运行过此命令,请不要再次运行。

现在,电子邮件的主题和正文视图位于 resources/views/vendor/sneaker 目录中。

我们在视图中传递了抛出的异常对象 $exception,您可以使用它来自定义视图以适应您的需求。

Sneak

测试您的集成

要验证Sneaker配置正确并且我们的集成正常工作,请使用 sneaker:sneak Artisan命令

$ php artisan sneaker:sneak

将抛出并捕获 Qmas\Sneaker\Exceptions\DummyException 类。捕获的异常将立即出现在您配置的电子邮件中。

安全

如果您发现任何安全相关的问题,请通过电子邮件发送至 akaamitgupta@gmail.com 而不是使用问题跟踪器。

鸣谢

关于SquareBoat

SquareBoat 是一家位于印度古尔冈的初创企业,专注于产品开发。您可以在 GitHub 上找到我们所有开源项目的概述。

许可

MIT许可。有关更多信息,请参阅 许可文件。版权所有 © 2016 SquareBoat