支持多种通道的 laravel 异常监控通知组件

guanguans -
支持多种通道的 laravel 异常监控通知组件

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 等信息BarkChanify钉钉群机器人飞书群机器人Server 酱企业微信群机器人息知配置文件中配置 token 等信息

config/exception-notify.php

.env 文件中配置

EXCEPTION_NOTIFY_DEFAULT_CHANNEL=dingTalk
EXCEPTION_NOTIFY_DINGTALK_KEYWORD=keyword
EXCEPTION_NOTIFY_DINGTALK_TOKEN=c44fec1ddaa8a833156efb77b7865d62ae13775418030d94d
EXCEPTION_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 的实例          
    });
}
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

laravel介绍

Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数

Tags 标签

phplaravelmessagenotify

扩展阅读

加个好友,技术交流

1628738909466805.jpg