Comment le framework Yii enregistre-t-il les journaux dans des fichiers personnalisés ? Cet article présente principalement la méthode d'enregistrement des journaux dans des fichiers personnalisés dans le framework Yii et analyse les principes de la journalisation du framework Yii et les compétences de configuration et de mise en œuvre associées de la journalisation personnalisée sous forme d'exemples. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
L'exemple de cet article décrit comment le framework Yii implémente la journalisation dans un fichier personnalisé. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Par défaut, Yii::log($msg, $level, $category)
enregistrera le journal dans le fichier runtime/application.log
Le format du journal est la suivante :
[Heure] - [Niveau] - [Catégorie] - [Contenu]
2013/05/03 17:33:08 [error] [application] test
Mais parfois il est nécessaire de mettre certains logs dans des fichiers spécifiques, tels que les transactions. Les journaux d'échecs doivent être enregistrés séparément des autres journaux.
Ceci peut être résolu en configurant différents CLogRouter dans Yii.
Vous devez d'abord comprendre le mécanisme de journalisation de Yii. La fonction de journalisation de Yii se compose de deux parties : CLogger et CLogRouter
CLogger est responsable de l'enregistrement des données de journal en mémoire, tandis que CLogRouter décide comment les traiter. logs Données, telles que l'enregistrement dans des fichiers ou des bases de données, ou l'envoi d'e-mails, etc.
Parmi eux, CFileLogRoute est utilisé pour traiter les données de journal sous forme de fichiers. Alors naturellement, les journaux peuvent être enregistrés dans différents fichiers journaux en configurant différents CFileLogRoutes.
La configuration spécifique est la suivante :
'log' => array( 'class' => 'CLogRouter', 'routes' => array( array( 'class' => 'CFileLogRoute', 'levels' => 'error, warning', ), array( 'class' => 'CFileLogRoute', 'levels' => 'error, warning', 'categories'=> 'orders.*', 'logFile'=> 'orders.log', ),
Là où les erreurs de commande doivent être enregistrées, ajoutez le code suivant :
Yii::log('your message', 'error', 'orders');
Connexe recommandé :
Explication détaillée des propriétés dans Yii
Explication détaillée des propriétés liées à YII requête
Formulaire dans le framework Yii
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!