Heim >PHP-Framework >Swoole >Benutzerdefinierte Swoole-Fehlermethode

Benutzerdefinierte Swoole-Fehlermethode

尚
Original
2019-12-17 09:39:262035Durchsuche

Benutzerdefinierte Swoole-Fehlermethode

Erstellen Sie einen Fehlerhandler

Implementieren Sie die ErrorHandlerInterface-Schnittstelle

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

Wenn DEBUG.ENABLE aktiviert ist, passen Sie den Fehler an Die Verarbeitung ist effektiv.

IOC-Injektion

Ereignisinjektion nach der Initialisierung des Frameworks:

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

Beachten Sie, dass im nächsten beforeWorker-Ereignis ein Logikfehler auftritt Dadurch wird die Fehlerbehandlungsklasse unmittelbar vor dem Start des Dienstes instanziiert. Wenn eine Verbindung wie Redis in der Verarbeitungsfunktion verwendet wird, führt dies zu einem Problem bei der gemeinsamen Nutzung von Verbindungen durch mehrere Prozesse kann zum Konvertieren verwendet werden.

Wenn beispielsweise eine Fehlermeldung auftritt, wird diese an den Task-Prozess übermittelt und im Task-Prozess wird eine einzelne Redis-Verbindung hergestellt, um die Fehlermeldung zu schreiben.

Empfohlenes Lernen: Swoole-Video-Tutorial

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Swoole-Fehlermethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn