laravel-exception-notify - 反对多种通道的 laravel 异样告诉(Bark、Chanify、钉钉群机器人、飞书群机器人、邮件、Server 酱、企业微信群机器人、息知)。

性能(2.x重构版本)

  • 监控发送 laravel 利用异样
  • 反对多种通道(Bark、Chanify、钉钉群机器人、飞书群机器人、邮件、Server 酱、企业微信群机器人、息知)
  • 反对扩大自定义通道
  • 反对自定义数据收集器
  • 反对自定义数据转换器

装置

$ composer require guanguans/laravel-exception-notify:^2.0 -v

配置

注册服务

laravel

$ php artisan vendor:publish --provider="Guanguans\\LaravelExceptionNotify\\ExceptionNotifyServiceProvider"

lumen

将以下代码段增加到 bootstrap/app.php 文件中的 Register Service Providers 局部下:

$app->register(\Guanguans\LaravelExceptionNotify\ExceptionNotifyServiceProvider::class);$app->boot(\Guanguans\LaravelExceptionNotify\ExceptionNotifyServiceProvider::class);

申请相干通道 token 等信息

  • Bark
  • Chanify
  • 钉钉群机器人
  • 飞书群机器人
  • Server 酱
  • 企业微信群机器人
  • 息知

配置文件中配置 token 等信息

config/exception-notify.php

.env 文件中配置

EXCEPTION_NOTIFY_DEFAULT_CHANNEL=dingTalkEXCEPTION_NOTIFY_DINGTALK_KEYWORD=keywordEXCEPTION_NOTIFY_DINGTALK_TOKEN=c44fec1ddaa8a833156efb77b7865d62ae13775418030d94dEXCEPTION_NOTIFY_DINGTALK_SECRET=SECc32bb7345c0f73da2b9786f0f7dd5083bd768a29b82

应用

app/Exceptions/Handler.phpreport 办法中增加

public function report(Exception $e){    // 默认通道    \ExceptionNotifier::reportIf($this->shouldReport($e), $e);    // 指定通道    \ExceptionNotifier::onChannel('dingTalk', 'mail')->reportIf($this->shouldReport($e), $e);    parent::report($e);}

告诉后果

扩大自定义通道

app/Providers/AppServiceProvider.phpboot 办法中增加

public function boot(){    // 扩大自定义通道    \ExceptionNotifier::extend('YourChannel', function (\Illuminate\Contracts\Container\Container $container){        // 返回 \Guanguans\LaravelExceptionNotify\Contracts\Channel 的实例              });}