squareboat / sneaker
在Laravel应用程序的服务器上发生异常时,通过堆栈跟踪发送电子邮件的简单方法。
Requires
- php: >=5.4.0
- illuminate/config: 5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- illuminate/log: 5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- illuminate/mail: 5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- illuminate/support: 5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- illuminate/view: 5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*
- symfony/debug: ~3.1|~3.2|~4.0
README
在Laravel应用程序的服务器上发生异常时,通过堆栈跟踪发送电子邮件的简单方法。
安装
通过Composer安装
对于Laravel <= 5.2,请使用 v1分支!
对于Laravel 5.2 <= 版本 <= 6.x,请使用 v5分支!
$ composer require squareboat/sneaker
配置Laravel
如果你使用的是 laravel 5.5 或更高版本,你应该跳过此步骤。
如果你使用的是laravel 5.3或5.4,只需将服务提供者添加到你的项目的 config/app.php
文件中
服务提供者
SquareBoat\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="SquareBoat\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' => [ // '[email protected]', ],
ignored_bots
这是不应发送错误电子邮件的机器人的列表。
'ignored_bots' => [ 'googlebot', // Googlebot 'bingbot', // Microsoft Bingbot 'slurp', // Yahoo! Slurp 'ia_archiver', // Alexa ],
自定义
如果你需要自定义电子邮件的主题和正文,请运行以下命令
$ php artisan vendor:publish --provider="SquareBoat\Sneaker\SneakerServiceProvider"
注意 - 如果你已经运行过此命令,请勿再次运行。
现在,电子邮件的主题和正文视图位于 resources/views/vendor/sneaker
目录中。
我们已将抛出的异常对象 $exception
传递到视图中,你可以使用它来自定义视图以适应你的需求。
Sneak
测试你的集成
为了验证Sneaker配置正确并且我们的集成正在运行,使用 sneaker:sneak
Artisan命令
$ php artisan sneaker:sneak
将抛出并捕获 SquareBoat\Sneaker\Exceptions\DummyException
类。捕获的异常将立即出现在你配置的电子邮件中。
安全
如果你发现任何安全问题,请通过电子邮件[email protected]告知,而不是使用问题跟踪器。
致谢
关于SquareBoat
SquareBoat 是一家位于印度古尔冈的专注于初创公司和产品开发的科技公司。你可以在GitHub上找到我们所有开源项目的概述 在这里。
许可
麻省理工学院许可证。请参阅许可证文件获取更多信息。版权所有 © 2020 SquareBoat