Maison > Article > développement back-end > Fonction de journalisation de la fonction PHP
Fonction de journalisation de la fonction PHP
Lors du développement d'applications PHP, nous rencontrons généralement de nombreuses situations qui nécessitent une journalisation. Par exemple, la journalisation est particulièrement importante lorsque nous devons déboguer un programme, résoudre des problèmes ou suivre le comportement des utilisateurs. En PHP, la meilleure pratique pour la journalisation consiste à utiliser la fonction log. Cet article expliquera comment enregistrer les journaux, comment étendre, utiliser et configurer les fonctions de journal.
1. Introduction aux fonctions de journalisation
En PHP, le système fournit des fonctions de journalisation, et nous pouvons utiliser ces fonctions pour enregistrer des journaux. Les fonctions de journalisation de PHP incluent :
Dans les applications pratiques, nous utilisons généralement la fonction error_log() pour la journalisation.
2. Utilisez la fonction error_log() pour enregistrer les journaux
La syntaxe de base de la fonction error_log() est la suivante :
bool error_log ( string $message [, int $message_type [, string $destination [, string $extra_headers ]]] )
Parmi eux :
$message : le message à écrire dans le journal.
$message_type : peut être des trois types suivants :
$destination : Lorsque $message_type est 1, ce paramètre spécifie le fichier de destination ou l'adresse e-mail pour l'envoi du message ; lorsque $message_type est 0, ce paramètre est ignoré lorsque $message_type est 2, ce paramètre spécifie le journal interne du système ; taper.
$extra_headers : Lorsque $message_type vaut 1, ce paramètre spécifie les informations d'en-tête de l'e-mail.
Normalement, nous nous connecterons à un fichier, utilisez le code suivant pour écrire le message dans le fichier journal :
$logfile = '/path/to/logfile.log'; error_log($message, 3, $logfile);
Cela écrira $message dans le fichier $path/to/logfile.log.
3. Fonction de journalisation étendue
PHP fournit une fonction appelée set_error_handler(), grâce à laquelle nous pouvons étendre la fonction de journalisation pour faciliter l'utilisation et la gestion des journaux. La syntaxe de base de la fonction
set_error_handler() est la suivante :
mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )
Parmi eux :
$error_handler : une fonction de gestion des erreurs personnalisée, qui peut être une fermeture ou une fonction ordinaire.
$error_types : Facultatif, la valeur par défaut est E_ALL | E_STRICT, le type d'erreur est spécifié, seules les erreurs du type d'erreur spécifié seront transmises à la fonction $error_handler pour traitement.
L'exemple de code est le suivant :
$logfile = '/path/to/logfile.log'; function my_error_handler($errno, $errstr, $errfile, $errline) { $message = "$errno: $errstr in $errfile on line $errline"; error_log($message, 3, $logfile); } set_error_handler('my_error_handler');
Cela écrira les erreurs PHP dans le fichier $path/to/logfile.log.
4. Utilisez Monolog pour étendre la journalisation
Une autre méthode de journalisation consiste à utiliser la bibliothèque tierce Monolog. Monolog est une bibliothèque de journalisation PHP populaire qui peut facilement enregistrer différents types de journaux et fournit plusieurs méthodes de transmission et de formatage des journaux.
Pour utiliser Monolog, vous devez d'abord installer la bibliothèque Monolog. La commande pour installer Monolog à l'aide de Composer est la suivante :
composer require monolog/monolog
Une fois l'installation terminée, nous pouvons utiliser le code suivant pour nous connecter :
use MonologLogger; use MonologHandlerStreamHandler; $log = new Logger('mylog'); $log->pushHandler(new StreamHandler($logfile, Logger::WARNING)); $log->error('This is an error message.');
Cela écrira les informations du journal dans le fichier $path/to/logfile.log.
5. Résumé
La journalisation est l'une des fonctions de base que chaque application doit implémenter. En PHP, nous pouvons utiliser les fonctions de journalisation error_log(), syslog(), openlog() et closelog() fournies par le système pour la journalisation. Dans le même temps, nous pouvons également utiliser des bibliothèques tierces telles que Monolog pour étendre la fonction de journalisation. Bien entendu, pour implémenter des fonctions plus personnalisées et complexes, nous pouvons utiliser la fonction set_error_handler() pour personnaliser la façon dont les journaux sont traités afin de répondre à nos propres besoins. Dans les applications réelles, vous devez choisir la méthode de journalisation la plus adaptée aux besoins réels.
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!