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. Le mécanisme d'enregistrement de traces utilisé par MongoLog émet tous les messages de log comme des notices PHP. Suivant l'interface serveur utilisé, cela signifie qu'ils peuvent être soit envoyés à strerr (avec PHP-CLI), soit envoyés dans les logs d'erreurs du serveur web. Afin de permettre aux messages de logs d'être affichés par PHP, leur niveau (E_NOTICE) doit être configuré. Cela signifie que E_NOTICE doit faire parti du niveau error_reporting de PHP et que display_errors doit valoir 1.
L'enregistrement de traces est désactivé par défaut. Cette classe vous permet de les activer sur des niveaux spécifiques, et sur des parties spécifiques du driver. Voici 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 ainsi que les évènements serveur depuis les jeux de réplication // ainsi que sur les files d'attente de connexions MongoLog::setLevel(MongoLog::INFO|MongoLog::FINE); MongoLog::setModule(MongoLog::RS|MongoLog::POOL); ?>
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
- Constante permettant de désactiver l'enregistrement de traces.
-
MongoLog::ALL
- Constantes pour l'enregistrement de toutes les traces.
Constantes MongoLog sur les niveaux
Ces constantes peuvent être utilisées par la méthode MongoLog::setLevel().
-
MongoLog::WARNING
- Permet d'afficher tous les messages émis suite à un évènement exceptionnel mais qu'aucune exception n'a été émise.
-
MongoLog::INFO
- Trace les évènements qui peuvent intéresser les administrateurs, mais qui ne sont pas particulièrement remarquables.
-
MongoLog::FINE
- Enregistre les traces de la plupart des évènements survenus sur le driver. Suivant le module ciblé, ce peut être très verbeux et est avant tout prévu pour les débogages.
Constantes du module MongoLog
Ces constantes peuvent être utilisées par la méthode MongoLog::setModule().
-
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
- Analyseur de log serveur.
-
MongoLog::POOL
- Enregistre les traces de l'activité de file d'attente de connexions (créer une nouvelle connexion, réutiliser une connexion, fermer une connexion).
-
MongoLog::RS
- Enregistre les traces de l'activité du jeu de réplication (Erreur, ping, le fait de choisir d'autres serveurs pour la lecture, etc...).
-
MongoLog::SERVER
- Modification des status du serveur de log. Détection du primaire, secondaire, et de duplication.
Sommaire
- MongoLog::getCallback — Récupère le nom de la fonction de rappel
- MongoLog::getLevel — Récupère le niveau de log
- MongoLog::getModule — Récupère les modules actuellement connectés
- MongoLog::setCallback — Définit une fonction de rappel à utiliser lors d'événements
- MongoLog::setLevel — Définit le niveau des logs
- MongoLog::setModule — Définit les fonctionnalités du driver à surveiller avec les logs