Maison  >  Article  >  développement back-end  >  Comment utiliser la journalisation dans CakePHP ?

Comment utiliser la journalisation dans CakePHP ?

WBOY
WBOYoriginal
2023-06-04 21:21:01717parcourir

CakePHP est un framework de développement d'applications Web basé sur PHP qui offre une évolutivité puissante et flexible. CakePHP fournit un mécanisme de journalisation pratique pour enregistrer et suivre les opérations et l'état des applications. Dans cet article, nous explorerons comment utiliser la fonctionnalité de journalisation dans CakePHP.

1. Configuration de la journalisation CakePHP

Les options de configuration de la journalisation ont été fournies dans le fichier de configuration de l'application config/app.php. Nous devons simplement ajuster ces options si nécessaire.

Les options de configuration de la journalisation sont :

'Log' => [
    'debug' => [
        'className' => 'CakeLogEngineFileLog',
        'path' => LOGS,
        'file' => 'debug',
        'levels' => ['notice', 'info', 'debug'],
        'url' => env('LOG_DEBUG_URL', null),
    ],
    'error' => [
        'className' => 'CakeLogEngineFileLog',
        'path' => LOGS,
        'file' => 'error',
        'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'],
        'url' => env('LOG_ERROR_URL', null),
    ],
]

Les options de configuration ci-dessus comprennent deux parties : le débogage et l'erreur. debug enregistre les informations de débogage et est donc très utile aux développeurs. error enregistre les informations d'erreur, y compris les informations d'avertissement, les informations d'erreur, les informations critiques, les informations d'avertissement et les informations d'urgence. Nous pouvons ajouter d'autres classes de journalisation si nécessaire.

2. Utilisation de la journalisation CakePHP

CakePHP la journalisation peut être implémentée à l'aide de la classe de service Log. Nous pouvons nous connecter n'importe où dans l'application en appelant des méthodes telles que Log::debug() ou Log::error(). Par exemple :

use CakeLogLog;

Log::info('My message');

Le code ci-dessus enregistrera le message Mon message dans le fichier journal de débogage du programme. Nous pouvons également utiliser d'autres méthodes dans la classe Log, telles que :

Log::emergency('This is an emergency!');
Log::alert('This is an alert!');
Log::critical('This is critical!');
Log::warning('This is a warning!');
Log::notice('This is a notice!');
Log::info('This is an info message!');
Log::debug('This is a debug message!');

3 Utilisation des classes de journalisation CakePHP

CakePHP fournit trois classes de journalisation par défaut : # 🎜🎜##. 🎜🎜#

FileLog : enregistrez les journaux dans un fichier.
  1. SyslogLog : Connectez-vous au journal système. Actuellement, seuls les systèmes d'exploitation de type UNIX sont pris en charge.
  2. DatabaseLog : enregistrez les journaux dans la base de données.
  3. Nous pouvons utiliser n'importe laquelle de ces classes d'enregistrement, ou utiliser leurs sous-classes et extensions.

Dans cet article, nous utiliserons la classe de journalisation FileLog pour enregistrer les journaux et écrire les informations du journal dans les deux fichiers /logs/debug.log et /logs/error.log.

Dans le programme, nous pouvons enregistrer les informations de débogage en utilisant le code suivant :

Log::debug('This is a debug message');

Cela enregistrera le message dans le fichier /logs/debug.log.

Nous pouvons également enregistrer les messages d'erreur en utilisant le code suivant :

Log::error('This is an error message');

Cela enregistrera le message dans le fichier /logs/error.log.

4. Sortie de journalisation CakePHP

Nous pouvons utiliser la classe de journalisation par défaut pour générer des informations de journal, ou utiliser une classe personnalisée ou une bibliothèque de classes tierce pour générer des informations de journal.

Par défaut, nous pouvons utiliser la visionneuse de fichiers pour afficher les informations du journal de sortie. Par exemple, nous pouvons utiliser la commande tail -f pour afficher le contenu du fichier journal en temps réel :

$ tail -f /logs/debug.log

La commande ci-dessus affichera le nouveau contenu dans le fichier debug.log en temps réel.

Nous pouvons également utiliser des outils plus avancés pour afficher les données de journaux, tels qu'Elasticsearch et Kibana. Ces outils offrent de puissantes fonctionnalités de recherche, de filtrage et de visualisation des fichiers journaux.

5. Résumé

Cet article présente comment utiliser la fonction de journalisation dans CakePHP. Nous pouvons enregistrer les informations de débogage et d'erreur n'importe où dans l'application et les stocker dans un fichier ou une base de données. Vous pouvez également utiliser la classe de journalisation par défaut pour générer des informations de journal. Enfin, nous avons brièvement mentionné certains outils avancés, tels qu'Elasticsearch et Kibana, pour nous aider à rechercher, filtrer et visualiser plus facilement les données de journaux.

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!

Déclaration:
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