Maison > Article > développement back-end > Journal CakePHP
Les frameworks CakePHP fournissent différents types de fonctionnalités au développeur et sont des outils open source. Par exemple, l’exploitation forestière est très importante du point de vue du développement ; l'utilisation d'un journal peut facilement trouver le problème en termes d'erreurs, d'exceptions, de différentes activités de l'utilisateur, d'actions de l'utilisateur pendant l'opération et de toute activité en arrière-plan. Normalement, la mise en œuvre de la journalisation est une activité très simple et qui permet de gagner du temps. Dans CakePHP, nous avons une fonction log() pour enregistrer les différentes activités, erreurs et exceptions. Pour la mise en œuvre du journal, nous devons configurer les différents paramètres selon nos exigences.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Voyons maintenant comment créer un CakePHP de connexion comme suit.
La journalisation des informations dans CakePHP est simple – le travail log() est fourni par LogTrait, qui est le prédécesseur normal de certaines classes CakePHP. Si le paramètre est une classe CakePHP (Contrôleur, Composant et Vue), vous pouvez enregistrer vos informations. Vous pouvez également utiliser Log::write() directement. Voir Écriture dans les journaux.
Les superviseurs de flux de journaux peuvent être essentiels pour votre application ou une partie de modules. Si, par exemple, vous aviez un bûcheron de base d'informations appelé DatabaseLog comme composant de votre application ; il serait mis en
application/Lib/Log/Engine/DatabaseLog.php.
En supposant que vous ayez un bûcheron de base d'informations comme composant de module, il serait placé dans application/Plugin/LoggingPack/Lib/Log/Engine/DatabaseLog.php. Une fois organisé, CakeLog s'efforcera d'empiler les flux de journaux de configuration, ce qui se termine en appelant CakeLog::config(). Organiser notre DatabaseLog ressemblerait à :
App::uses('BaseLog', 'Log/Engine'); class DatabaseLog extends BaseLog { public function __construct($options = array()) { parent::__construct($options); // ... } public function write($specified type, $required message) { // write to the database. } }
Bien que CakePHP n'ait aucune condition préalable pour les flux de journaux autres que le fait qu'ils doivent exécuter une technique de composition, l'élargissement de la classe BaseLog présente quelques avantages :
Il gère par conséquent la projection des conflits de degré et de type. Enfin, il exécute la technique config() censée faire fonctionner la journalisation parcourue.
La technique de composition de chaque enregistreur doit accepter deux limites : $type et $message (dans un ordre spécifique). $type est le type de chaîne du message enregistré ; les croyances de base sont l'erreur, la mise en garde, l'information et le dépannage. De plus, vous pouvez caractériser vos types en les utilisant lorsque vous appelez CakeLog::write.
Voyons maintenant comment configurer la connexion à CakePHP comme suit.
Tout d'abord, nous devons configurer le fichier app.php ; nous pouvons configurer la section du journal avec différentes options.
'Log' => [ 'debug'=>[ 'className'=> 'Cake\Log\Engine\FileLog', 'path' => LOGS, 'file'=> 'debug', 'levels' => ['specified notice', 'required info', 'debug'], 'url' => env('Specified URL', null), ], 'error' => [ 'className'=> 'Cake\Log\Engine\FileLog', 'path' => LOGS, 'file'=> 'error', 'levels' => ['specified warning', 'error', 'critical', 'alert'], 'url' => env('Specified URL', null), ], },
Explication
Dans le code ci-dessus, on peut voir par défaut ; nous avons deux niveaux de journalisation : une erreur et un débogage que nous avons déjà configurés, et il gère les différents niveaux du message. Donc, fondamentalement, CakePHP prend en charge les différents niveaux de journalisation comme suit.
Voyons maintenant quel est le fichier journal dans CakePHP comme suit.
Nous pouvons écrire dans un enregistrement de journal de deux manières différentes.
La première consiste à utiliser la technique static write(). Vient ensuite la structure linguistique de la technique static write().
Syntaxe :
write(integer|string $level, blended $message, string|array $context [])
Paramètres :
Le niveau de gravité du message en cours de rédaction. La valeur doit être un nombre entier ou une chaîne correspondant à un point connu.
Contenu du message à enregistrer.
Informations supplémentaires à utiliser pour enregistrer le message. La clé d'extension unique peut être transmise pour être utilisée pour une séparation supplémentaire des moteurs de bûches. Si une chaîne ou un enregistrement mathématique est réussi, il sera traité comme la clé du degré. Voir CakeLogLog::config() pour plus de données sur les degrés de journalisation.
Il renvoie : booléen
Description : Compose le message donné et tapez-le sur tous les connecteurs de journaux conçus. Les connecteurs arrangés reçoivent à la fois les facteurs $level et $message. $level est l'une des chaînes/valeurs qui l'accompagnent. La seconde consiste à utiliser le travail de route simple log() accessible à tous ceux qui utilisent LogTrait Calling log() qui appellera Log::write().
Now let’s see an example of a log file as follows.
First, we need to make the changes in the routes.php file as follows.
<?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 message', 'home page']); $builder->connect('logex',['controller'=>'Logexs','action'=>'index']); $builder->fallbacks(); });
Now we need to create controller.php and write the following code as follows.
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Log\Log; class LogexsController extends AppController{ public function index(){ /*First way to write log file.*/ Log::write('debug', "Something went wrong during execution."); /* Second way to write log file.*/ $this->log("Something went wrong during execution.", 'debug'); } } ?>
Create an index.php file under the view directory and write the following code.
Something went wrong during execution. Need to check log file\debug.log
Now we need to execute this file in localhost, and after execution, we will do some output that we illustrated by using the following screenshot.
After execution debug log was added to the debug.log file, as shown in the following screenshot.
We hope from this article you learn more about the CakePHP log. From the above article, we have taken in the essential idea of the CakePHP log and see the representation and example of the CakePHP log. Furthermore, this article taught us how and when to use the CakePHP 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!