亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

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

主站蜘蛛池模板: 亚洲精品一区二区三区中文字幕 | 99成人在线观看 | 一区二区三区电影 | 国产一区二区三区网站 | 男女拍拍免费视频 | 日本黄又爽又大高潮毛片 | 国产成人精品一区 | 九九热精品视频 | 夜爽爽| 日韩黄色免费网站 | 久精品在线 | 亚洲综合欧美 | 日韩欧美影院 | 在线观看亚洲视频 | 五月激情六月婷婷 | 天堂久久爱资源站www | 日韩成人免费电影 | 成年人视频在线播放 | 国产中文字幕网 | 久久综合久久综合久久 | 五月天堂av91久久久 | 久久九九集合九九国产精品 | 欧美日韩三级在线观看 | 亚洲天堂男人av | www.自拍偷拍 | 好吊淫视频 | a级片免费 | 国产精品一区二区三区在线免费观看 | 一区二区在线观看免费 | 欧美一区中文字幕 | 欧美日韩电影在线 | 国产精品视频一区二区三区四区国 | 天天综合天天 | 青草av.久久免费一区 | av中文字幕不卡 | 日日爱视频 | 成人免费看视频 | 一级毛片一级毛片一级毛片 | 国产精品自拍视频 | 茄子成人看a∨片免费软件 青草av.久久免费一区 | 亚洲热在线观看 |