午夜免费_欧美一级免费看_欧美日韩一区二区视频在线观看_午夜视频在线_日本特黄a级高清免费大片_成年人黄色小视频

Trigger

EasySwoole\EasySwoole\Trigger触发器,用于主动触发错误或者异常而不中断程序继续执行。

使用

拦截异常并记录

比如:在控制器的OnException中:

protected function onException(\Throwable $throwable): void
{
    //拦截错误进日志,使控制器继续运行
    \EasySwoole\EasySwoole\Trigger::getInstance()->throwable($throwable);
    $this->writeJson(\EasySwoole\Http\Message\Status::CODE_INTERNAL_SERVER_ERROR, null, $throwable->getMessage());
}

直接记录

\EasySwoole\EasySwoole\Trigger::getInstance()->error('test error');

回调接管注册

通常出现重大异常(支付失败等)需要进行报警处理,在全局的mainServerCreate事件中进行注册:

\EasySwoole\EasySwoole\Trigger::getInstance()->onException()->set('notify',function (\Throwable $throwable){
    // 自行实现通知代码
});

\EasySwoole\EasySwoole\Trigger::getInstance()->onError()->set('notify',function ($msg){
    // 自行实现通知代码
});

自定义处理类

需要开发者实现EasySwoole\Trigger\TriggerInterface

<?php

namespace App\Exception;

use EasySwoole\EasySwoole\Logger;
use EasySwoole\Trigger\Location;
use EasySwoole\Trigger\TriggerInterface;

class TriggerHandel implements TriggerInterface
{
    public function error($msg, int $errorCode = E_USER_ERROR, Location $location = null)
    {
        Logger::getInstance()->console('这是自定义输出的错误:'.$msg);
        // TODO: Implement error() method.
    }

    public function throwable(\Throwable $throwable)
    {
        Logger::getInstance()->console('这是自定义输出的异常:'.$throwable->getMessage());
        // TODO: Implement throwable() method.
    }
}

initialize事件中注入自定义trigger处理器:

\EasySwoole\EasySwoole\Trigger::getInstance(new \App\Exception\TriggerHandel());

主站蜘蛛池模板: 国产精品 日韩 | 亚洲美女自拍视频 | 国产成人免费 | 亚洲免费a视频 | 一区二区三区四区久久 | 国产精品日韩一区二区 | 51久久成人国产精品麻豆 | 91香蕉视频导航 | 国产色拍 | 一级不卡免费视频 | 亚洲免费a视频 | 一级片在线观看网站 | 91免费视频观看 | 国产亚洲一二区 | 91免费视频观看 | 99久久精品久久久久久 | 国内91视频| 国产欧美日韩精品一区二区三区 | 久久九九热 | 国产福利视频在线 | 免费亚洲视频在线观看 | 国产一区二区三区视频免费 | 91热热热 | 一级不卡免费视频 | 国产精品毛片一区二区三区 | 91在线看 | 91av电影在线观看 | 国产电影久久久久久久 | 九色视频免费在线观看 | 国产精品九九九九 | 91视频免费看. | 91成人小视频| 51国产偷自视频区视频小蝌蚪 | 亚洲免费视频在线观看 | 国产一区二区三区成人久久片老牛 | а天堂中文最新一区二区三区 | 久久久久国产一区二区三区四区 | 国产在线视频一区 | 999视频精品 | 国产成人精品亚洲777人妖 | 亚洲欧洲精品久久 |