PHP Unconference Europe 2015

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

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 = 1 ;
const int CON = 2 ;
const int IO = 4 ;
const int SERVER = 8 ;
const int PARSE = 16 ;
/* Champs */
private static int $callback ;
private static int $level ;
private static int $module ;
/* Méthodes */
public static callable 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
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.

Historique

Version Description
1.3.0 Ajout de MongoLog::CON, et, désormais, MongoLog::POOL et MongoLog::SERVER sont obsolètes.

Sommaire

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top