La classe MongoLog
(PECL mongo >=1.2.3)
Introduction
L'enregistrement de traces peut être utilisé pour récupérer des informations détaillées sur les différentes activités du driver. Par défaut, l'enregistrement des traces est désactivé, mais cette classe vous permet d'activer des niveaux spécifiques d'enregistrements pour différentes parties du driver. Quelques exemples :
<?php
// affiche tous les messages de logs possibles
MongoLog::setLevel(MongoLog::ALL); // tous les niveaux de logs
MongoLog::setModule(MongoLog::ALL); // toutes les parties du driver
// affiche les évènements significatifs concernant les erreurs du jeu de réplication
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);
// affiche les informations et le niveau de diagnostique des événements pour les
// jeux de réplication et les connexions
MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE);
MongoLog::setModule(MongoLog::RS|MongoLog::CON);
?>
Note:
Par défaut, MongoLog émet tous les messages d'enregistrement de traces comme notices PHP. Suivant le SAPI utilisé, les messages peuvent être envoyés à stderr (pour CLI) ou au log d'erreurs du serveur Web. Si, après avoir configuré MongoLog, les messages d'enregistrement de traces n'apparaissent pas comme prévus, assurez-vous que
E_NOTICE
est inclus dans l'option de configuration error_reporting et que display_errors vaut "on".
Synopsis de la classe
Constantes pré-définies
Constantes MongoLog
Ces constantes peuvent être utilisées par à la fois la méthode MongoLog::setLevel() et la méthode MongoLog::setModule().
MongoLog::NONE
- Aucun enregistrement de traces n'est réalisé.
MongoLog::ALL
- Enregistre toutes les traces.
Constantes MongoLog sur les niveaux
Ces constantes peuvent être utilisées par la méthode MongoLog::setLevel().
MongoLog::WARNING
- Log les événements qui sont exceptionnels, mais pas assez pour lancer une exception (i.e. erreurs de connexion qui peuvent être corrigées).
MongoLog::INFO
- Log les événements qui peuvent intéresser les administrateurs, mais qui ne sont pas noticiable (i.e. option d'analyse, étape d'authentification).
MongoLog::FINE
- Log la plupart des événements que le driver produit (i.e. sélection de serveur, communication avec un socket). Suivant le module dont on enregistre les traces, ceci peut être très verbeux, et est principalement prévu pour le débogage.
Constantes du module MongoLog
Ces constantes peuvent être utilisées par la méthode MongoLog::setModule().
MongoLog::CON
- Log l'activité de la connexion. Création d'une nouvelle connexion, authentification, les différents pings, l'atteinte des délais d'expiration, etc..
MongoLog::IO
- Enregistre les traces à propos du trafic de la base de données. A moins que votre programme soit très particulier, cette constante créera un nombre gigantesque de messages de logs.
MongoLog::PARSE
- Log l'analyse de la chaîne de connexion et des options, lors de la construction d'un MongoClient.
MongoLog::POOL
-
Précédemment utilisé pour enregistrer les traces de l'activité du
pool de connexion. Cette option est maintenant obsolète, et est un
alias de
MongoLog::RS
. MongoLog::RS
- Enregistre les traces de l'activité du jeu de réplication (Erreur, sélection de la préférence de lecture, etc.).
MongoLog::SERVER
-
Précédemment utilisé pour enregistrer les traces des modifications
de statut du serveur. Cette option est obsolète, en faveur de
MongoLog::RS
.
Sommaire
- MongoLog::getCallback — Récupère la précédente fonction de rappel définie
- MongoLog::getLevel — Récupère le(s) niveau(x) actuellement loggué(s)
- MongoLog::getModule — Récupère le(s) module(s) actuellement surveillé(s)
- MongoLog::setCallback — Définit une fonction de rappel à utiliser lors d'événements
- MongoLog::setLevel — Définit le(s) niveau(x) des logs
- MongoLog::setModule — Définit le(s) module(s) à surveiller avec les logs
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-class.mongolog.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.