Maison >développement back-end >tutoriel php >Le framework Yii implémente la méthode d'enregistrement des 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. Il 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 auxquels les amis dans le besoin peuvent se référer. ce qui suit
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 faut pour mettre des journaux spécifiques Mettez-le dans un fichier spécifique, tel que le journal des transactions ayant échoué, qui doit être enregistré 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ù des erreurs de commande doivent être enregistrées, ajoutez le code suivant :
Yii::log('your message', 'error', 'orders');
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!