在线看片18_亚洲性吧_在线污_神马午夜达达兔_奇米色网_在线免费看污

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());

主站蜘蛛池模板: 亚洲欧美日本一区 | 天堂中文在线网 | 国产天堂久久 | 国产婷婷一区二区 | 国产亚洲三级 | 国产精品91视频 | 免费在线观看你懂的 | 91在线亚洲 | 在线久久 | 污黄在线观看 | 你懂的国产| 成人免费网址 | 伊人久久久久久久久久 | 成人午夜高清 | 欧美xxxx网站 | 在线观看免费黄色 | 大地资源高清在线视频 | 欧美人与性动交g欧美精器 久久久午夜精品 | 欧美日韩国产麻豆 | 在线免费看 | 亚洲婷婷网 | 精品久久久久久久久久久久 | 午夜视频在线观看免费视频 | 黄色一级网站 | 亚洲精选av| 这里有精品视频 | 青青操av在线 | 欧美jizz欧美性大全 | 欧美xxxx网站| 成人一二三四区 | 黄色一级一片免费播放 | 天天综合网天天综合 | 久久精品18| 色五五月 | 青草伊人久久 | 二区在线观看 | 国产在线天堂 | 小柔的淫辱日记(h) 玖玖精品 | 亚洲精品乱码久久久久久日本蜜臀 | 中文字幕亚洲欧美 | 日韩欧美精品在线 |