Home >PHP Framework >Swoole >swoole custom error method

swoole custom error method

尚
Original
2019-12-17 09:39:262067browse

swoole custom error method

Create an error handler

Implement the ErrorHandlerInterface interface

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 )
    {
    }
}

When DEBUG.ENABLE is turned on, customize the error Processing is effective.

IOC injection

Event injection after the framework is initialized:

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

Note that if there is a logic error in the subsequent beforeWorker event, it will As a result, the error handling class is instantiated immediately before the service is started. If a connection such as redis is used in the processing function, it will cause a multi-process connection sharing problem. To avoid this situation, the task process can be used to convert.

For example, when an error message occurs, it is delivered to the task process, and a singleton redis connection is obtained in the task process to write the error message.

Recommended learning: swoole video tutorial

The above is the detailed content of swoole custom error method. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn