Maison > cadre php > YII > Comment générer manuellement des journaux d'erreurs dans Yii

Comment générer manuellement des journaux d'erreurs dans Yii

王林
Libérer: 2020-12-10 16:48:16
avant
3529 Les gens l'ont consulté

Comment générer manuellement des journaux d'erreurs dans Yii

La méthode spécifique est la suivante :

Configurez d'abord la méthode d'erreur et modifiez le paramètre errorHandler

(Recommandations associées : yii framework)

Sous config/web, la méthode par défaut est la méthode d'erreur

'errorHandler' => [
            'errorAction' => 'site/error',
        ]
Copier après la connexion

sous le contrôleur de site. Remplacez-la par :

'errorHandler' => [
            'errorAction' => 'error/error',
        ]
Copier après la connexion

. J'ai l'habitude de recréer une erreur. La méthode dépend des habitudes personnelles.

Créez actionError dans le contrôleur d'erreurs, comme suit :

public function actionError(){
       $error = \Yii::$app->errorHandler->exception;
       $error_msg = '';
       if($error){
           $filed = $error->getFile();  //获取错误文件
           $line = $error->getLine();   //获取错误行数
           $message = $error->getMessage(); //获取错误消息
           $code = $error->getCode();   //获取错误码

           $log = new FileTarget();
           $log->logFile = \Yii::$app->getRuntimePath() . "/log/error.log"; //生成文件到log目录下

           $error_msg = $message ." [file:{$filed}][line:{$line}][message:{$message}][code:{$code}][url:{$_SERVER['REQUEST_URI']}][POST_DATA:".http_build_query($_POST)."]";

           $log->messages[] = [
               $error_msg,
               1,
               'applicition',
               microtime( true )
           ];
            $log->export();
       }
       return $error_msg;
   }
Copier après la connexion

Le journal des erreurs sera généré dans le répertoire runtime/log.

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal