Pendant le développement, afin de nous faciliter le débogage du programme et l'enregistrement des informations, nous écrirons les informations nécessaires dans un fichier, qui est le fichier journal. Le framework Yii nous fournit une bonne méthode d'écriture des journaux. jetez un oeil ensemble.
Comment écrire des logs dans le framework yii ?
1. Pour utiliser la connexion dans Yii, vous devez d'abord modifier le fichier de configuration :
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], 'logVars' => ['_GET'], ], ], ],
explication du paramètre target :
La classe ● spécifie l'utilisation de fichiers pour enregistrer les journaux
● les niveaux spécifient l'enregistrement des journaux d'erreurs et d'avertissements
● logVars spécifie l'enregistrement des paramètres d'obtention
Si logVars est non spécifié, GET POST COOKIE sera enregistré sur le SERVEUR DE SESSION et d'autres paramètres, qui affecteront notre visualisation, nous pouvons le modifier en
'logVars' => ['*'], // 只记录message
2. Utilisez ce qui suit :
Yii::error($message); Yii::warning($message);
pour écrire le journal dans différents fichiers
Méthode 1 : attribuez d'abord l'adresse du fichier journal où le journal doit être enregistré, puis écrivez le journal
Yii::$app->log->targets[0]->logFile = Yii::getAlias('@runtime').DIRECTORY_SEPARATOR.'logs'.DIRECTORY_SEPARATOR.'app2.log'; Yii::warning($message);
Méthode 2 (recommandée) : Modifier le fichier de configuration main.php
'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning'], 'logVars' => ['*'], //'categories' => ['application'], //'logFile' => '@runtime/logs/app.log', ], [ 'class' => 'yii\log\FileTarget', 'categories' => ['pay'], 'levels' => ['error', 'warning'], 'logVars' => ['*'], 'logFile' => '@runtime/logs/pay.log', ], [ 'class' => 'yii\log\FileTarget', 'categories' => ['order'], 'levels' => ['error', 'warning'], 'logVars' => ['*'], 'logFile' => '@runtime/logs/order.log', ], ], ],
Utiliser :
Yii::warning($message,'pay')
Le message ici sera enregistré dans pay.log, et bien sûr il sera également enregistré dans les valeurs par défaut. Vous pouvez décommenter ce code dans
dans app.log : //'categories' => ['application'],, afin qu'il ne soit enregistré que dans les journaux respectifs.
Mais cela entraînera également que certaines informations d'erreur ne soient pas enregistrées dans app.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!