Maison  >  Article  >  cadre php  >  méthode d'erreur personnalisée swoole

méthode d'erreur personnalisée swoole

尚
original
2019-12-17 09:39:261996parcourir

méthode d'erreur personnalisée swoole

Créer un gestionnaire d'erreurs

Implémenter l'interface 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 )
    {
    }
}

Lorsque DEBUG.ENABLE est activé, personnalisez l'erreur Le traitement est efficace.

Injection IOC

Injection d'événement après l'initialisation du framework :

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

Notez que s'il y a une erreur logique dans le prochain événement beforeWorker, il will En conséquence, la classe de gestion des erreurs est instanciée immédiatement avant le démarrage du service. Si une connexion telle que redis est utilisée dans la fonction de traitement, cela entraînera un problème de partage de connexion multi-processus. Pour éviter cette situation, le processus de tâche. peut être utilisé pour convertir.

Par exemple, lorsqu'un message d'erreur se produit, il est transmis au processus de tâche et une connexion Redis singleton est obtenue dans le processus de tâche pour écrire le message d'erreur.

Apprentissage recommandé : tutoriel vidéo swoole

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn