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

MongoLog {
/* Constantes */
const int NONE = 0 ;
const int ALL = 31 ;
level constants {
const int WARNING = 1 ;
const int INFO = 2 ;
const int FINE = 4 ;
module constants {
const int RS = 1 ;
const int POOL = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Fields */
public int $level ;
public int $module ;
/* Méthodes */
public static void getCallback ( void )
public static int getLevel ( void )
public static int getModule ( void )
public static void setCallback ( callable $log_function )
public static void setLevel ( int $level )
public static void setModule ( int $module )
}

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

LoadingChargement en cours