adriandmitroca / laravel-exception-monitor
该包已被 废弃,且不再维护。未建议替代包。
一个小巧的Laravel包,用于通知您应用中发生的异常。
1.0.0
2016-03-27 13:22 UTC
Requires
- php: >=5.6.0
- maknz/slack: ^1.7
Requires (Dev)
- orchestra/testbench: ~3.0
- phpunit/phpunit: 4.8.*
This package is not auto-updated.
Last update: 2020-08-21 20:03:39 UTC
README
此包在您的生产应用中发生异常时通知您。它类似于为小型项目提供的轻量级和免费版本的Bugsnag,对于这些项目来说,使用这款出色的SaaS工具可能会有些过度。
安装
composer require adriandmitroca/laravel-exception-monitor
接下来,您需要在 config/app.php
中注册 Service Provider
$providers = [ ... Adriandmitroca\LaravelExceptionMonitor\ExceptionMonitorServiceProvider::class, ... ];
然后发布配置文件
php artisan vendor:publish --provider="Adriandmitroca\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 Adriandmitroca\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); }
变更日志
请参阅 CHANGELOG 获取更多信息。
测试
composer test
贡献
请参阅 CONTRIBUTING 获取更多详细信息。
许可
此库受MIT许可协议的许可。请参阅 许可文件 获取更多信息。