Journal CakePHP

王林
Libérer: 2024-08-29 12:58:22
original
579 Les gens l'ont consulté

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

Comment créer un journal CakePHP ?

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.
}
}
Copier après la connexion

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.

Comment configurer la connexion à CakePHP ?

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),
],
},
Copier après la connexion

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.

  • Urgence : Il est utilisé pour indiquer que le système est inutilisable.
  • Alerte : Elle montre quelle mesure nous devons prendre immédiatement.
  • Critique : Il est utilisé pour les conditions critiques.
  • Erreur : Il est utilisé pour afficher les conditions d'erreur.
  • Avertissement : Il est utilisé pour afficher les conditions d'avertissement.
  • Avis : Il est utilisé pour montrer la condition significative d'exécution.
  • Info : Il est utilisé pour afficher des messages d'information selon les besoins.
  • Debug : Il est utilisé pour afficher le niveau de débogage de tous les messages.

Fichier journal CakePHP

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 [])
Copier après la connexion

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().

CakePHP Log Example

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();
});
Copier après la connexion

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');
}
}
?>
Copier après la connexion

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.

Journal CakePHP

After execution debug log was added to the debug.log file, as shown in the following screenshot.

Journal CakePHP

Conclusion

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!

Étiquettes associées:
php
source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal