Maison >développement back-end >tutoriel php >Journalisation CakePHP
La connexion à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie par LogTrait, qui est l'ancêtre commun de presque toutes les classes CakePHP.
Nous pouvons configurer le fichier de connexion config/app.php. Il y a une section de journal dans le fichier, où vous pouvez configurer les options de journalisation comme indiqué dans la capture d'écran suivante.
Par défaut, vous verrez deux niveaux de journalisation - erreur et débogage déjà configurés pour vous. Chacun gérera différents niveaux de messages.
CakePHP prend en charge différents niveaux de journalisation comme indiqué ci-dessous −
Urgence − Le système est inutilisable
Alerte − Des mesures doivent être prises immédiatement
Critique − Conditions critiques
Erreur − Conditions d'erreur
Avertissement − Conditions d'avertissement
Avis − Condition normale mais significative
Infos − Messages d'information
Débogage − Messages de niveau débogage
Il existe deux manières d'écrire dans un fichier journal.
La première consiste à utiliser la méthode statique write(). Voici la syntaxe de la méthode statique write().
Syntaxe | write( entier|chaîne $level, mixte $message, chaîne|array $context [] ) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
Contenu du message à enregistrer. Données supplémentaires à utiliser pour enregistrer le message. La clé de portée spéciale peut être transmise pour être utilisée pour un filtrage plus approfondi des moteurs de journalisation à utiliser. Si une chaîne ou un tableau d'index numérique est transmis, il sera traité comme la clé de portée. Voir CakeLogLog::config() pour plus d'informations sur les étendues de journalisation. |
||||||||
Retours | booléen | ||||||||
Description | Écrit le message donné et tapez-le sur tous les adaptateurs de journaux configurés. Les adaptateurs configurés reçoivent les variables $level et $message. $level est l'une des chaînes/valeurs suivantes. |
La seconde consiste à utiliser la fonction log() raccourci
disponible sur tout utilisateur utilisant leLogTrait L'appel de log() appellera en interne Log::write()
−<?php use Cake\Http\Middleware\CsrfProtectionMiddleware; use Cake\Routing\Route\DashedRoute; use Cake\Routing\RouteBuilder; $routes->setRouteClass(DashedRoute::class); $routes->scope('/', function (RouteBuilder $builder) { $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([ 'httpOnly' => true, ])); $builder->applyMiddleware('csrf'); //$builder->connect('/pages', ['controller'=>'Pages','action'=>'display', 'home']); $builder->connect('logex',['controller'=>'Logexs','action'=>'index']); $builder->fallbacks(); });
Exemple Apportez des modifications au fichier config/routes.php comme indiqué dans le programme suivant.
config/routes.php
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Log\Log; class LogexsController extends AppController{ public function index(){ /*The first way to write to log file.*/ Log::write('debug',"Something didn't work."); /*The second way to write to log file.*/ $this->log("Something didn't work.",'debug'); } } ?>
Créez un fichier LogexsController.php dans src/Controller/LogexsController.php. Copiez le code suivant dans le fichier du contrôleur.
src/Controller/LogexsController.phpCréez un répertoire
Something is written in log file. Check log file logs\debug.logLogexs
dans
src/Templateet sous ce répertoire, créez un fichier
ViewExécutez l'exemple ci-dessus en visitant l'URL suivante. http://localhost/cakephp4/logex Sortie Lors de l'exécution, vous recevrez le résultat suivant. Les journaux seront ajoutés au fichier log/debug.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!