famdirksen / laravel-exception-monitor
一个轻量级Laravel包,用于通知您应用中的异常。
1.0.1
2017-05-22 13:52 UTC
Requires
- php: >=5.6.0
- maknz/slack: ^1.7
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: 4.8.*
This package is auto-updated.
Last update: 2024-09-05 21:06:25 UTC
README
此包会在生产应用中抛出异常时通知您。它类似于专为小型项目设计的轻量级免费版Bugsnag,对于这些项目来说,使用这款出色的SaaS工具可能就过于过度了。
安装
composer require famdirksen/laravel-exception-monitor
接下来,您需要在 config/app.php
中注册服务提供者
$providers = [ ... Famdirksen\LaravelExceptionMonitor\ExceptionMonitorServiceProvider::class, ... ];
然后发布配置文件
php artisan vendor:publish --provider="Famdirksen\LaravelExceptionMonitor\ExceptionMonitorServiceProvider"
您还需要确保已经正确安装并配置了 maknz/slack 包以用于Slack通知。
配置
配置文件相当直观。
<?php return [ /* |-------------------------------------------------------------------------- | Enabled sender drivers |-------------------------------------------------------------------------- | | Send a notification about exception in your application to supported channels. | | Supported: "mail", "slack". You can use multiple drivers. | */ 'drivers' => [ 'mail', 'slack' ], /* |-------------------------------------------------------------------------- | Enabled application environments |-------------------------------------------------------------------------- | | Set environments that should generate notifications. | */ 'environments' => [ 'production' ], /* |-------------------------------------------------------------------------- | Mail Configuration |-------------------------------------------------------------------------- | | It uses your app default Mail driver. You shouldn't probably touch the view | property unless you know what you're doing. | */ 'mail' => [ 'from' => 'sender@example.com', 'to' => 'recipient@example.com', 'view' => 'mails/exception-monitor' ], /* * Uses maknz\slack package. */ 'slack' => [ 'channel' => '#bugtracker', 'username' => 'Exception Monitor', 'icon' => ':robot_face:', ], ];
用法
要开始捕获异常,您有两个选择。
第一个选项:从包提供的异常处理器扩展(app/Exceptions/Handler.php
)
use Famdirksen\LaravelExceptionMonitor\MonitorExceptionHandler; ... class Handler extends MonitorExceptionHandler
第二个选项:将 app/Exceptions/Handler.php
中的 report
方法修改如下
public function report(Exception $e) { foreach ($this->dontReport as $type) { if ($e instanceof $type) { return parent::report($e); } } if (app()->bound('exception-monitor')) { app('exception-monitor')->notifyException($e); } parent::report($e); }
更新日志
有关更多信息,请参阅 更新日志。
测试
composer test
贡献
有关详细信息,请参阅 贡献指南。
许可
此库采用MIT许可。请参阅 许可文件 以获取更多信息。