swoole如何自定义错误

小编给大家分享一下swoole如何自定义错误,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联建站服务项目包括瓮安网站建设、瓮安网站制作、瓮安网页制作以及瓮安网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,瓮安网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到瓮安省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

创建错误处理器

实现ErrorHandlerInterface接口

namespace App;
use Core\AbstractInterface\ErrorHandlerInterface;
class Test implements ErrorHandlerInterface
{
    function handler( $msg,$file = null,$line = null,$errorCode = null,$trace )
    {
        echo "文件{$file}的第{$line}行,错误:{$msg}";
    }
    function display($msg,$file = null,$line = null,$errorCode = null,$trace )
    {
    }
    function log( $msg,$file = null,$line = null,$errorCode = null,$trace )
    {
    }
}

当开启DEBUG.ENABLE的时候,则自定义错误处理有效。

IOC注入

在框架初始化后事件注入:

Di::getInstance()->set(SysConst::ERROR_HANDLER,Test::class);

注意,若在接下去的beforeWorker事件中有逻辑错误,则会导致在服务启动前,错误处理类立即被实例化,若在处理函数内,有用到例如redis等连接,则会造成多进程连接共用问题,为避免该情况,可以利用task进程去转换。

例如,发生错误信息的时候,则投递至task进程,在task进程中去获取一个单例的redis连接,来写入错误信息。

看完了这篇文章,相信你对“swoole如何自定义错误”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前名称:swoole如何自定义错误
文章源于:http://azwzsj.com/article/jidhjs.html