The MongoLog class
Introduction
Logging can be used to get detailed information about what the driver is doing. With PHP-CLI, log output will be printed to stderr. Under an app server, log messages will generally be printed to an error log.
Logging is turned off, by default. This class allows you to turn on specific levels of logging for specific parts of the driver. Some examples:
<?php
// print every log message possible
MongoLog::setLevel(MongoLog::ALL); // all log levels
MongoLog::setModule(MongoLog::ALL); // all parts of the driver
// print significant events about replica set failover
MongoLog::setLevel(MongoLog::INFO);
MongoLog::setModule(MongoLog::RS);
// print info- and trace-level events from replica sets and connection pooling
MongoLog::setLevel(MongoLog::INFO|MongoLog::TRACE);
MongoLog::setModule(MongoLog::RS|MongoLog::POOL);
?>
Class synopsis
MongoLog
{
/* Constants */
level constants {
module constants {
/* Fields */
public
int
$MongoLog->level
;
public
int
$module
;
/* Methods */
}Predefined Constants
MongoLog Constants
These constants can be used by both MongoLog::setLevel() and MongoLog::setModule().
- MongoLog::NONE
- Constant for turning logging off.
- MongoLog::ALL
- Constant for logging everything.
MongoLog Level Constants
These constants can be used by MongoLog::setLevel().
- MongoLog::WARNING
- This will print log messages about somewhat exceptional but not-quite-exception-worthy happenings.
- MongoLog::INFO
- Logs events that may be of interest to administrators, but are not particularly noteworthy.
- MongoLog::FINE
- Logs most events that the driver performs. Depending on the module being logged, this can be extremely noisy and is primarily for debugging.
MongoLog Module Constants
These constants can be used by MongoLog::setModule().
- MongoLog::RS
- Log replica set activity. Failovers, pinging, chosing secondaries to read from, etc.
- MongoLog::POOL
- Log connection pool activity. Creating new connections, reusing connections, and closing connections.
- MongoLog::IO
- Logs traffic to/from the database. Unless your program is trivial, this will create an enormous number of log messages.
Table of Contents
- MongoLog::getLevel - Gets the log level
- MongoLog::getModule - Gets the modules currently being logged
- MongoLog::setLevel - Sets logging level
- MongoLog::setModule - Sets driver functionality to log




